一.算法思想
采用直接排序的思想,将链表中的第一个元素看作无重复序列中的第一个元素,随后通过工作指针P,将无重复序列中的最后一个元素的值与P所指的结点的值进行对比。若相等,则删除该结点,同时P指向下一个结点;若不相等,则将该结点加入到无重复序列中,并将该结点作为无重复序列的最后一个元素(其实就是不用删除该结点,P直接指向下一个结点)
二.源代码
void Del_Same(List list){
Node p,rear,temp; //temp为辅助指针,rear为无重复序列的最后一个元素结点指针
rear= list->next;
p = rear->next;
while(p!=Null){
//值相等
if(p->data == rear->data){
temp = p;
p = p->next
delete(temp);
}else{
rear->next = p;
rear = p;
p = p->next;
}
}
}