严蔚敏版数据结构算法2.2
2016-06-29 15:18
405 查看
#include <iostream> #include<vector> using namespace std; typedef int element; #define maxsize 100 typedef struct { element aa[maxsize]; int last; }sqlist; void merglist(sqlist *la, sqlist * lb, sqlist *lc) { int i = 0, j = 0, k = 0; while ((i <= la->last) && (j <= lb->last)) { if (la->aa[i] <= lb->aa[j]) { lc->aa[k] = la->aa[i]; i++; k++; } else { lc->aa[k] = lb->aa[j]; j++; k++; } } while (i<=la->last) { lc->aa[k] = la->aa[i]; i++; k++; } while (j<=lb->last) { lc->aa[k] = lb->aa[j]; i++; k++; } lc->last = la->last + lb->last + 1; } int main() { int len, i; sqlist *la, *lb, *lc; la = (sqlist*)malloc(sizeof(sqlist)); cout << "输入链表a的长度:" << endl; cin >> len; la->last = len - 1; cout << "输入元素:" << endl; for (i = 0; i < len; i++) cin >> la->aa[i]; lb = (sqlist*)malloc(sizeof(sqlist)); cout << "输入链表b的长度:" << endl; cin >> len; lb->last = len - 1; cout << "输入元素:" << endl; for (i = 0; i < len; i++) cin >> lb->aa[i]; lc = (sqlist*)malloc(sizeof(sqlist)); merglist(la, lb, lc); for (i = 0; lc->last < len; i++) cout << lc->aa[i] << " "; cout << endl; return 0; }
相关文章推荐
- hdu 5124(线段树区间更新+lazy思想)
- 数据结构复习——线性表的顺序存储实现
- HDU 3564 线段树+简单DP
- LeetCode之旅-1
- 数据结构与算法简记:折半插入排序
- hdu 4533(树状数组区间更新+单点查询)
- 数据结构之线性表之顺序存储结构(3)
- 数据结构之算法初涉(2)
- 数据结构之算法初涉(2)
- 数据结构之概念初涉(1)
- 数据结构之概念初涉(1)
- C++数据结构中的基本算法排序
- C++数据结构中的基本算法排序
- 打印1到最大的n位数
- 《Java数据结构与算法》笔记-CH5-链表-7实现链表的插入排序
- 团体程序设计天梯赛L2-006 树的遍历(数据结构)
- 团体程序设计天梯赛L2-004 这是二叉搜索树吗?(数据结构)
- [肝学习资料]数据结构
- Java数据结构之递归与三角函数的运用,使用3种方法实现三角
- 线性表-顺序表、链表类模板的实现(数据结构基础 第2周)