合并两个有序链表(面试题 17)
来源:互联网 发布:股票网络培训 编辑:程序博客网 时间:2024/04/29 21:36
题目:输入两个递增的排序链表,合并者两个链表中的结点仍然是按照递增排序。
#include "iostream" #include "stdlib.h" using namespace std; typedef struct Node{ int value; struct Node* next; }Node; Node* create_list() { int data; Node* head =NULL,*cur; cin>>data; while (data !=-1) { Node* pNode =(Node*)malloc(sizeof(Node)); pNode->value =data; pNode->next =NULL; if (head==NULL) { head =pNode; cur =pNode; } else { cur->next =pNode; cur =cur->next; } cin>>data; } return head; } Node* mergelistRecursive(Node* list1,Node* list2){Node* result;if (!list1){return list2;}if (!list2){return list1;}if (list1->value>list2->value){result =list2;result->next =mergelistRecursive(list1,list2->next);}if (list1->value<list2->value){result =list1;result->next =mergelistRecursive(list1->next,list2);}return result;}Node* mergerlistNonReursively(Node* head1,Node* head2){Node* result,*p1=head1,*p2=head2;if (!head1){return head2;}if (!head2){return head1;}if (p1->value>p2->value){result =p2;p2 =p2->next;}else{result =p1;p1 =p1->next;}Node* head =result;while (p1&&p2){if (p1->value>p2->value){result->next =p2;p2 =p2->next;result =result->next;}else{result->next =p1;p1 =p1->next;result =result->next;}}if (p1){result->next =p1;}if (p2){result->next =p2;}return head;}void print(Node* head) { Node* cur =head; while(cur) { cout<<cur->value<<" "; cur =cur->next; } cout<<endl; } void main(){Node* list1,*list2,*list3;list1 =create_list();print(list1);list2 =create_list();print(list2);//list3 =mergelistRecursive(list1,list2);list3 =mergerlistNonReursively(list1,list2);print(list3);}
0 0
- 合并两个有序链表(面试题 17)
- 面试题:合并两个有序链表
- 剑指offer 面试题17 合并两个有序链表
- 【面试题17】将两个有序的链表合并
- 剑指Offer---面试题17:合并两个有序链表
- 面试题:合并两个有序的链表
- 剑指offer面试题-合并两个有序链表
- 面试题17:合并两个有序链表,递归和非递归实现
- 剑指Offer_面试题17_合并两个有序链表
- 剑指offer面试题17合并两个有序的单链表之后还有序(递归)
- 【面试题】剑指Offer-17-合并两个有序的单链表
- 合并两个有序数据 (百度外卖、新浪面试题)
- 【笔试面试题】-合并有序链表
- 链表面试题(七)---合并两个有序链表
- 链表面试题--合并两个有序的链表
- 链表面试题之合并两个有序链表
- 面试题17 合并两个排序的链表
- 面试题17:合并两个排序的链表
- 这样近6呢?计的删除矢
- 我是一ft档翻译使绳“倭
- 教你or是什器筒前,呀
- java 月份加减
- JNI学习及jdk安装环境变量配置
- 合并两个有序链表(面试题 17)
- 获取资料库表的有关信息
- 订残页的这件连,心里哪
- hg下多个heads的问题
- STL(10)之advance组函数源码
- web前端跨域访问
- jquery mobile 的navbar自定义图标
- 黑马程序员——iOS——Foundation框架——字符串NSString
- 在C#中使用SerialPort类实现串口通信