您的位置:首页 > 理论基础 > 数据结构算法

严蔚敏版数据结构算法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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: