概述
void MergeList(List La,List Lb,List &Lc)
{ InitList(Lc);
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)//La中当前指针所指元素值较小
{ ListInsert(Lc,++k,ai);++i;}//将La中当前指针所指元素插入Lc,指针后移一个位置
else
{ ListInsert(Lc,++k,bj);++j;} //将Lb中当前指针所指元素插入Lc,指针后移一个位置
}
while(i<=La_len)//如果当前La中有剩余元素
{ GetElem(La,i++,ai); ListInsert(Lc,++k,ai);}//获取La中元素直接插入Lc
while(j<=Lb_len) //如果当前Lb中有剩余元素
{ GetElem(Lb,i++,bj); ListInsert(Lb,++k,bj);} //获取Lb中元素直接插入Lc
}//MergeList
时间复杂度:O(ListLength(LA)+ListLength(LB));
最后
以上就是鲜艳蜜粉为你收集整理的有序线性表合并的算法的全部内容,希望文章能够帮你解决有序线性表合并的算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复