将两个有序链表head1、head2合成一个有序链表
来源:互联网 发布:乳胶漆调色软件 编辑:程序博客网 时间:2024/06/05 11:07
将两个有序链表head1、head2合成一个有序链表,实现的方法有很多中,例如:先将两个链表合成一个,再用排序算法进行排序;或者直接进行比较排序,这里采用的是类似于直接选择排序的方法进行排序
实现程序:
void tomerge(struct list * head1,struct list * head2){ struct list * ptr = head1->next; struct list * last;//指向已排好序链表的最后一个元素 head1->next = NULL; head2 = head2->next; last = head1; while(ptr != NULL&& head2 != NULL){ /*将两个链表中最小的链接到新的链表中*/ if(ptr->data <= head2->data){ last->next = ptr; last = ptr; ptr = ptr->next; }else{ last->next = head2; last = head2; head2 = head2->next; } last->next = NULL; } /*将链表的剩余部分链接到已排好序的链表的后面*/ if(ptr != NULL) last->next = ptr; else if(head2 != NULL) last->next = head2;}
0 0
- 将两个有序链表head1、head2合成一个有序链表
- 将两个有序链表head1 head2,合并为一个链表
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。
- 用递归方法实现两个链表head1和head2各自有序,请把它们合并成一个链表仍然有序。(c/c++)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,要求用递归方法进行。
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。使用非递归方法以及递归方法。
- 将两个有序链表合成一个有序链表
- 将两个有序递增的链表合成一个有序递增的链表
- 将两个各自有序的链表,合成一个有序的链表
- 两个有序的链表合成一个有序的链表
- 将两个同为升序的有序链表,请将其合成为一个也是升序的链表。
- Java将两个有序链表合并为一个有序链表、将两个有序数组合并成一个有序数组
- 两个有序链表合并成一个新的链表,合成的链表一样有序排列
- 将两个有序链表合并成一个有序链表
- ARM开发步步深入之MMU初窥
- [置顶] springmvc 分页查询的简单实现
- 《重构-改善代码既有的设计》重构,第一个案例
- python exp指纹录入工具
- 个人对学习闭包的理解
- 将两个有序链表head1、head2合成一个有序链表
- MyEclipse加入jquery.js文件missing semicolon的错误
- 谈谈java的运行机制
- JQuery 获取相同class长度
- 完全数
- controller重定向页面
- forward和redirect的区别
- css3选择器简介大全
- 模板不支持分离编译。