单链表删除重复元素
1212121 删除完之后变为12 思路:先拿第一个元素与之后所有做对比,相同的都删除,然后在那第二个元素与后面元素做对比,相同的删除,以此类推
Node *CompareList(Node *pHead)//删除重复元素
{
Node *pNext,*tmp,*p1;
if(pHead == NULL)
{
printf("链表为空,无法操作\n");
exit(0);
}
else
{
p1 = pHead;
while(p1 !=NULL)
{
pNext = p1->next;
while(pNext != NULL)
{
if(p1->Elem == pNext->Elem)
{
tmp = pNext->next;
free(pNext);
pNext = tmp;
}
else pNext = pNext->next;
}
p1 = p1->next;
}
}
return pHead;
}