#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
提交
取消