链表问题(二)——有序链表合并
来源:互联网 发布:仿京东商城源码 php 编辑:程序博客网 时间:2024/06/03 18:48
已知两个链表head1和head2个字有序,请把他们合并成一个链表依然有序(包含所有结点,即便大小相同)
struct Node { int data; Node *next; };//方法一:递归实现Node *Merge(Node *head1,Node *head2){ if(head1 == NULL) return head2; if(head2 == NULL) return head1; Node *head=NULL; if(head1->data < head2->data) { head = head1; head->next = Merge(head1->next, head2); } else { head = head2; head->next = Merge(head1,head2->next); } return head;}//方法二:循环实现Node * Merge(Node * head1,Node *head2){ if(head1 == NULL) return head2; if(head2 == NULL) return head1; Node *head = NULL; Node *p1 = NULL; Node *p2 = NULL; if(head1->data <= head2->data) { head=head1; p1=head1->next; p2=head2; } else { head = head2; p1=head1; p2 = head2->next; } Node *pcurr=head; while(p1 != NULL && p2 != NULL) { if(p1->data < p2->data) { pcurr->next = p1; pcurr = p1; p1 = p1->next; } else { pcurr->next = p2; pcurr = p2; p2 = p2->next; } } while(p1 != NULL) { pcurr->next = p1; pcurr = p1; p1 = p1->next; } while(p2 != NULL) { pcurr->next = p2; pcurr = p2; p2 = p2->next; } return head;}
0 0
- 链表问题(二)——有序链表合并
- 有序链表合并&有序数组合并
- 数据结构与算法(二)合并两个有序链表
- 两个有序链表的合并问题
- 有序链表的合并问题
- 有序链表合并
- 合并有序链表
- 合并有序链表
- 合并有序链表
- 合并有序链表
- 有序链表合并
- 合并有序链表
- 合并有序链表
- 合并有序链表
- 有序链表合并
- 有序链表合并
- 合并有序链表
- 合并有序链表
- The Karplus-Strong Algorithm
- 如何导入jar包
- Shell脚本调用mysql语句
- 分布式中使用 Redis 实现 Session 共享(上)
- Android实战简易教程<二十四>(基于Baas的用户表查询功能实现!)
- 链表问题(二)——有序链表合并
- 实现九九乘法表
- Spring3中用注解直接注入properties中的值
- 使用VC++使用开发Web服务(ISAPI extension - mod_gsoap.dll)1
- Java编程【1】Define an interface called IAnimal,return 10 animals filled radndomly 3 kinds of animals
- CADisplayLink 和 NSTimer
- Android中插件开发篇之----动态加载Activity(免安装运行程序)
- 分布式中使用 Redis 实现 Session 共享(中)
- 机器学习经典论文/survey合集 - 算法组