删除相同元素的节点
定义了一个指针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; }