链表删除重复元素 删除重复的元素我们可以知道头节点是不会改变的
我们需要 链表每一个位置的元素和后面所有元素相比较 若相等则删除后面的元素 链表删除元素需要找到删除节点的前一个节点 所以我们会加一个变量s记录要删除节点的前一个节点 希望可以让读者学到更多
void deleList(List p,int val){//删除链表的重复元素
List r=p;
while( r){
********List s=r;
********List head=r->next;
********while( head){ //节点 r后面的节点
******** *******if(r->data==head->data){
******** ********s->next=head->next;
******** ******** free(head);
******** ********head=s->next;
******** ******** }
******** ********else{
******** ********s=s->next; 再head改变之前用s记录下来
******** ********head=head->next;
******** ******** }
******** }
********r=r->next;
}
}
链表删除重复元素
最新推荐文章于 2024-04-28 23:52:56 发布