链表合并问题
来源:互联网 发布:软件行业编程工具 编辑:程序博客网 时间:2024/06/05 19:16
将两个已经从小到大排序好的单链表合并为新的链表,要求新的链表中仍然是从小到大有序。
#include <iostream>using namespace std;struct Node{int data;Node *next;};Node *input();Node *merge(Node *, Node *);void output(Node *);int main(){Node *s1 = input();Node *s2 = input();Node *s3 = merge(s1, s2);output(s3);return 0;}Node *input(){Node *head = NULL, *tail = NULL;int x;cin >> x;while (x != -1){Node *p = new Node;p->data = x;p->next = NULL;if (head == NULL)head = tail = p;else{tail->next = p;tail = p;}cin >> x;}return head;}void output(Node *head){Node *p = new Node;while (head != NULL){p = head;head = head->next;cout << p->data << " ";}cout << endl;}Node *merge(Node *t1, Node *t2){Node *head = NULL, *tail = NULL;while (t1 && t2){if (t1->data < t2->data){Node *p = new Node;p->data = t1->data;p->next = NULL;if (head == NULL)head = tail = p;else{tail->next = p;tail = p;}t1 = t1->next;}if (t1)if (t1->data >= t2->data){Node *p = new Node;p->data = t2->data;p->next = NULL;if (head == NULL)head = tail = p;else{tail->next = p;tail = p;}t2 = t2->next;}}if (t1)tail->next = t1;if (t2)tail->next = t2;return head;}
0 0
- 链表合并问题
- 两个有序链表的合并问题
- 两个链表的合并问题
- 合并两个链表的问题
- 链表逆向交替合并问题
- 两个链表的合并问题
- 有序链表的合并问题
- 问题:合并两个有序链表,合并以后的链表依旧有序。
- 链表问题---合并两个有序的单链表
- 有序链表合并&有序数组合并
- 两表及多表合并问题
- 关于结构相同多表合并问题
- 表合并并统计的问题
- 线性表合并的一点点问题
- 虚函数表合并的问题
- 有序链表合并
- C++合并链表
- 合并链表操作
- 网络流建图的几点体会(给自己看的笔记,持续更新)
- 开始写博客
- 模板模式
- POJ 1065
- Java&Xml教程(十)XML作为属性文件使用
- 链表合并问题
- 猜数字游戏
- vim 自动提示、自动补齐插件 YouCompleteMe for windows Gvim 安装及使用效果
- poj1733 Parity game(并查集)
- chrome 上调试web app
- MATLAB实现图像配准
- HTML meta详解
- 整理iOS开发常用的第三方资源
- 解题报告:POJ 2965 The Pilots Brothers' refrigerator 两种做法