九度题目1393:合并两个排序序列
来源:互联网 发布:java企业员工管理系统 编辑:程序博客网 时间:2024/06/05 20:14
- 题目描述:
输入两个递增的序列,输出合并这两个序列后的递增序列。
- 输入:
每个测试案例包括3行:
第一行为1个整数n(1<=n<=1000000)表示这两个递增序列的长度。
第二行包含n个整数,表示第一个递增序列。
第三行包含n个整数,表示第二个递增序列。
- 输出:
对应每个测试案例,输出合并这两个序列后的递增序列。
- 样例输入:
41 3 5 72 4 6 8
- 样例输出:
1 2 3 4 5 6 7 8
#include<stdio.h>#include<algorithm>#include<iostream>#include<stack>#include<vector>#include<string.h>#include<limits.h>#include<stdlib.h>#define ABS(x) ((x)>=0?(x):(-(x)))using namespace std;struct Node{ int val; Node *next; Node(int value):val(value),next(NULL){}};void list_construct(Node **head, int len){ int i; int val; Node *p; for(i=0;i<len;++i) { cin>>val; if(NULL==*head) { *head = new Node(val); p = *head; } else { p->next = new Node(val); p = p->next; } } return;}void list_print(Node *head){ while(head) { cout<<head->val; head = head->next; } return;}int get_length(Node *head){ int len = 0; while(head) { len++; head = head->next; } return len;}Node* sort_list(Node *list1, Node *list2){ Node *head = NULL; Node *p; while(list1&&list2) { if(list1->val<list2->val) { if(head==NULL) { head = list1; p = head; list1 = list1->next; p->next = NULL; } else { p->next = list1; list1 = list1->next; p = p->next; p->next = NULL; } } else { if(head==NULL) { head = list2; p = head; list2 = list2->next; p->next = NULL; } else { p->next = list2; list2 = list2->next; p = p->next; p->next = NULL; } } } if(list1==NULL) p->next = list2; else p->next = list1; return head;}void delete_list(Node *list){ Node *p = list; while(p) { p = list->next; delete list; list = p; }}int main(){ freopen("test.in","r",stdin); freopen("test.out","w",stdout); int n; Node *list1, *list2; Node *head,*q; while(cin>>n) { list1 = list2 = NULL; list_construct(&list1, n); list_construct(&list2, n); head = sort_list(list1,list2); q = head; while(head) { cout<<head->val; if(head->next) cout<<' '; head = head->next; } cout<<endl; delete_list(q); } fclose(stdin); fclose(stdout); return 0;}
0 0
- 【九度】题目1393:合并两个排序序列
- 九度题目1393:合并两个排序序列
- 九度oj-1393-合并两个排序序列
- 题目1519:合并两个排序的链表-九度
- 九度 题目1519:合并两个排序的链表
- 九度_题目1519:合并两个排序的链表
- 【剑指Offer面试编程题】题目1519:合并两个排序的链表--九度OJ
- 九度OJ-题目1519:合并两个排序的链表
- [九度OnlineJudge][剑指Offer]题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表 九度 本地通过 参考别人的
- 合并两个排序序列
- 合并两个排序序列_1393
- 九度oj-合并两个排序的链表
- 题目:合并两个排序链表
- 九度题目1202:排序
- 九度题目1202:排序
- 九度 题目1202:排序
- 【九度】题目1202:排序
- oracle导出文件字符集修改
- CF 266 B. Wonder Room
- SPRING原理解析-Ioc容器初始化
- hadoop0.20.2完全分布模式安装和配置
- UEditor 1.2.5 for jsp的使用
- 九度题目1393:合并两个排序序列
- Android WebView Memory Leak WebView内存泄漏
- gem5简介
- poj 1915 Knight moves
- Linux在所有文件中查找和替换
- 星球上最详细的AWR解析报告
- Android手机拨打电话的开发实例
- Linux LB 集群知识、如何用 LVS 方式实现 LB 集群?
- mysql数据的备份还原三种方法