首页 > 代码库 > 链表归并代码
链表归并代码
void mergelist(list La,list Lb,list &Lc) { //已知线性表LA和LB中的数据元素按值非递减排列 //归并LA和LB得到新的线性表LC,LC中的元素也按值非递减 Initlist(Lc);//初始化一个新的链表LC i=j=1;k=0; La_len=ListLength(La);//分别求出La和Lb的长度 Lb_len=ListLength(Lb);//La和Lb都非空。 { GetElem(La,i,ai); GetElem(Lb,i,bj); if(ai<=bj)//如果ai<bj,那么就让ai插入链表Lc中。 { ListInsert(Lc,++k,ai); i++;//让链表La中的下一个元素继续和Lb中的元素比较。 } else { ListInsert(Lc,++k,bj);//如果ai>bj,那么就让bj插入到链表Lc中 j++; } } while((i<=La_len)&&(j>Lb_len))//当最后链表La还有数值,而Lb没有数值的时候 { GetElem(La,i++,ai);//让所有链表La的数值都插入到Lc链表中 ListInsert(Lc,k++,ai); } while((j<=Lb_len)&&(i>Lb_len))//当最后链表Lb还有数值,而La没有数值的时候 { GetElem(La,j++,bj); ListInsert(Lc,k++,bi);//让所有链表Lb的数值都插入到Lc链表中 } }
链表归并代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。