填空题
函数deletelist的功能:在head指向的单向链表中查找是否出现多个x值相同的结点。如果发现存在这样的结点,则保留第一个结点,删除其他重复出现的结点。
typedef struct point /*链表结点数据结构定义*/
{int x;
struct point*next;
} ___(27)___ ;
POT *deletelist(POT *head)
{
POT *p,*p1,*p2;
p=___(28)___;
while(p->next!=NULL)
{p1=p;
p2=p->next;
while(p2!=NULL)
{
if(p2->x==p->x)
{p1->next=___(29)___;
free(p2);
p2=p1->next;
}
else
{p1=p2;
p2=p2->next;
}
}
p=___(30)___;
}
return head;
}
【参考答案】
(27)POT
(28)head
(29)p2->next
(30)p->next