链表1
来源:互联网 发布:淘宝阿尔法下载 编辑:程序博客网 时间:2024/06/05 04:17
设head指向一个非空单向链表,
①设数据域的值不重复,删除链表中的最大值节点。
②设数据域的值不重复,将最大值节点移动至链表尾部。
③设数据域的值重复,删除关键字值为key的节点。
④设数据域的值重复且升序有序,删除链表中的重复值节点。
⑤将一个无序链表按降序排列。
第一个的代码片段如下:
elemSN * delMaxNode(elemSN *h) {elemSN *p, *q, *pmax, *qmax;pmax = h;qmax = NULL;for (q = h, p = h->next; p; q = p, p = p->next) {if (p->data > pmax->data) {pmax = p;qmax = q;}}if (pmax - h)qmax->next = pmax->next;elseh = h->next;return h;}第二个代码片段如下:
elemSN * MoveMaxtoTail(elemSN *h) {elemSN *p, *q, *pmax, *qmax;pmax = h;qmax = NULL;for (q = h, p = h->next; p; q = p, p = p->next) {if (p->data > pmax->data) {pmax = p;qmax = q;}}if (!(pmax - h))h = h->next;else qmax->next = pmax->next;pmax->next = q->next;q->next = pmax;return h;}
第三个代码片段如下:
elemSN * delKeyNode(elemSN *h,int key) {elemSN *p, *q;for (p = h; p; q = p, p = p->next) {if (!(p->data - key)){if (p - h) {q->next = p->next;free(p);p = q->next;}else {h = h->next;free(p);p = h;}}}return h;}
阅读全文
0 0
- 链表1
- 链表1
- 链表1
- 链表(1)
- 链表1
- C++链表1
- 链表(1)
- 数据结构-链表(1)
- 【11-1】链表
- 2.4.1链表
- java 链表1
- 数据结构-链表-练习题1
- 链表(1)
- 数据结构(1)-链表
- linux内核数据结构---链表(1)
- 浅谈C链表(1)
- 链表(一):单链表1
- 数据结构学习(1)-链表
- fastdfs介绍与工作原理
- Codeforces 101243 B Hanoi tower
- CENTOS 7 如何设置防火墙
- 洛谷 2663 越越的组队 【dp】
- Redis数据结构-SDS
- 链表1
- 机器学习中的范数规则化之(一)L0、L1与L2范数
- MongoDb索引
- "文件包含"预处理命令`include
- 洛谷 1855 榨取kkksc03
- Good Numbers (数位DP)
- Codeforces 101243 F
- python 读写网页内容的时候遇错问题
- Cloudera的CDH和Apache的Hadoop的区别