リストがあります:
1-2-3-3-4-5-6-6-2-7-8-6-9-10-9-NULL //前
私は次のようにそれを作るためにWNT:
リンクリストの重複する要素を削除
void don(struct node *head)
{
struct node *t,*p,*q;
t=head;
p=t->next;//p is to check each node!
q=t;//q is used to take care of previous node!
while(p!=NULL)
{
if(p->data==t->data)
{
while(p->data==t->data)
{
p=p->next;
}
q->next=p;
q=q->next;
}
else
{
p=p->next;
q=q->next;
}
}
t=t->next;
if(t!=NULL)
don(t);
}
:
1-2-3-4-5-6-7-8-9-10-NULL //
た後、私は次のコードを書かれています
出力は:
1-2-3-4-5-6-7-8-6-9-10
コードに間違っていると教えてください:)。
ことの一つは、あなたがメモリをリークしているということです以下の方法を見ることができます。 –
隣接する重複をチェックしているようです。 – interjay
あなたは連続した詐欺だけをスキップしています – CarlH