两个简单线性链表的合并(类模板)

template<class ElemType>
void MergeList(const SimpleLinkList <ElemType>& la, const SimpleLinkList<ElemType>& lb,SimpleLinkList <ElemType>& lc) {
ElemType aElem, bElem;
int aLength = la.Length(), bLength = lb.Length();
int aPos = 1, bPos = 1 ;
lc.Clear();
while (aPos <= la.Length() && bPos <= lb.Length()) {
la.GetElem(aPos, aElem);
lb.GetElem(bPos, bElem);
if (aElem < bElem) {
lc.Inser(lc.Length() + 1, aElem);
aPos++;
}
else {
lc.Inser(lc.Length() + 1, bElem);
bPos++;
}
}
while (aPos <= la.Length()) {
la.GetElem(aPos, aElem);
lc.Inser(lc.Length() + 1, aElem);
aPos++;
}
while(bPos<=lb.Length()){
lb.GetElem(bPos, bElem);
lc.Inser(lc.Length() + 1, bElem);
bPos++;
}
}

 

posted @ 2021-10-23 20:56  Grit_L。  阅读(94)  评论(0编辑  收藏  举报