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

合并顺序表,合并后的表元素按从小到大排列

2015-04-09 21:07 169 查看
设有两个整数类型的顺序表A(有m个元素)和B(有n个元素),其元素均以从小到大的升序排列。试编写一个函数,将这两个顺序表合并成一个顺序表C,要求C的元素也以从小到大的升序排列。

合并算法:

void Merge(SeqList<int> &LA, SeqList<int> &LB, SeqList<int> &LC){
int i = 0, j = 0, k = 0, va, vb;
while( i < LA.Length() && j < LB.Length()){
LA.getData(i+1, va);
LB.getData(j+1, vb);
if(va > vb){
LC.Insert(k, vb);
k++;
j++;
}
else{
LC.Insert(k, va);
k++;
i++;
}
}
if(i == LA.Length())
while(j < LB.Length()){
LB.getData(j+1, vb);
LC.Insert(k, vb);
j++;
k++;
}

if(j == LB.Length()){
while(i < LA.Length())
LA.getData(i+1, va);
LC.Insert(k, va);
i++;
k++;
}
return;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐