首页 > 试题广场 >

设计在单链表中删除值相同的多余结点的算法。

[问答题]

设计在单链表中删除值相同的多余结点的算法。

typedef int datatype;

typedef struct node {datatype data; struct node *next;}lklist;

void delredundant(lklist *&head)

{

lklist *p,*q,*s;

for(p=head;p!=0;p=p->next)

{

for(q=p->next,s=q;q!=0; )

if (q->data==p->data) {s->next=q->next; free(q);q=s->next;}

else {s=q,q=q->next;}

}

}

发表于 2017-05-16 23:12:30 回复(1)