程序填空删除单链表中重复结点,重复结点只保留一个,head是单链表首结点指针
struct node "delete(struct node *head)
(
struct node *p,"q,"r,*tmp; //r指向q的前驱结点
p=q=head; 2
for(p=head; _;p=p-> next)
r=p;
for(q=p->next;q!=NULL;)
if(q->x==p->x)
tmp=q;
q=q->next;
free(tmp);)
else
(r=q;
//返回删除重复结点的单链表头
需要各位的帮助,需要解题思路!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qzjhjxj 2022-09-13 11:06关注
供参考:
struct node* deleteDup(struct node* head) { struct node* p, * q, * r, * tmp; //r指向q的前驱结点 p = q = NULL; for (p = head; p != NULL; p = p->next) { r = p; for (q = p->next; q != NULL;) if (q->x == p->x) { tmp = q; q = q->next; r->next = q; free(tmp); } else { r = q; q = q->next; } } return head;//返回删除重复结点的单链表头 }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法
- ¥15 数学建模竞赛求指导帮助