void de_weight(Linklist * phead)///链表去重
{
Linklist * p = NULL;
Linklist * q = NULL;
Linklist * temp = NULL;
int count = 0;
if(phead == NULL||phead->next == NULL)
{
puts(“无法去重\n”);
return;
}
p = phead->next;//指向首节点
while(p->next != NULL)
{
temp=p->next;//判断下一个节点,否则无法删除节点
for(q=phead->next;q!=temp;q=q->next)
{
if(temp->number == q->number)//判断是否有重复
{
break;
}
}
if(q != temp)//重复则删除
{
p->next = temp->next;
count++;
free(temp);
}
else///不重复则删除下一个
{
p = p->next;
}
}
printf(“删除%d个\n”,count);
}
2021-03-02
最新推荐文章于 2021-11-10 17:26:45 发布