#include "stdafx.h"#include "atlstr.h"#include<iostream>#include<string>using namespace std;typedef int ElemType;typedef struct Node{ElemType data;struct Node *link;}LNode,*LinkList; /*定義一個線性鏈表類型*/void DeleteSameNode(LinkList list){LinkList p,q,r;int flag=0;p=list->link; /*從鏈表的第2個鏈結點開始尋找多余結點*/r=list;while(p!=NULL){q=list; /*每次從鏈表的第1個鏈結點開始尋找多余結點*/while(q!=p)if(q->data==p->data){ /*p所指結點為多余結點*/r->link=p->link; /*刪除p所指結點*/free(p);flag=1;break;}elseq=q->link;if(flag){p=r->link;flag=0;}else{r=p;p=p->link; /*準備判斷下一個結點是否為多余結點*/}}}用main函數調用上面的函數
添加回答
舉報
0/150
提交
取消