算法设计-归并两个非递减有序排列的线性表

版权声明:只为学习之用,有不对的地方请告诉我,谢谢! https://blog.csdn.net/darkxiaoming/article/details/79951359

已知线性表LaLb中的数据元素按值非递减有序排列,现要求将两个线性表归并为一个新的线性表Lc,Lc中的数据要求按值非递减有序。

void MergerList(List &La,List &Lb,List &Lc)

     {                                                                  //归并a,b线性表得新的线性表Lc,使其数据元素仍按值非递减排列

        InitList(Lc); Lc_len=0;

i=j=1;k=0;

La_len=ListLength(La) Lb_len=ListLength(Lb);

while ((i<=La_len)&&(j<=Lb_len)){

GetElem(La,i,ai);GetElem(Lb,j,bj);

if (ai<=bj) {ListInsert(Lc,++k,ai);++i}

else {ListInsert(Lc,++k,bj);++j}//if

}//while

while (i<=La_len){

GetElem(La,i++,ai);ListInsert(Lc,++k,ai);

}//while

while (j<=Lb_len){

GetElem(Lb,j++,bj);ListInsert(Lc,++k,bj);

}//while

}//MergerList


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页