删除相同元素的节点
定义了一个指针ptr,使其一直指向要删除元素的后继
void distinct_list(node **L)
{
node *p,*q,*ptr;
p=(*L)->next;
while(p)
{
q=p;
ptr=p->next;
}
while(ptr)
{
if(p->data==ptr->data)
{
q->next=ptr->next;
delete ptr;
ptr=q->next;
}
else
{
q=ptr;
ptr=ptr->next;
}
p=p->next;
}
}
void printf_list(node **L)
{
node *p;
p=(*L)->next;
while(p)
{
cout<<p->data<<"->";
p=p->next;
}
cout<<"NULL";
cout<<endl;
}