正在加载图片...
2、顺序表的操作实例 【例线性表的合并②、时复杂度,0+m void Sqmerge(sQLiST La SQLIST Lb, 依次将La,Lb SOLIST *Lc 中的较小者 续接到c中 i int i=0,j=0, k=0, m, n; 将La或Lb中n=Laen;m= Lb.len;Le-len=m+n; 的剩余部分 whiler(in&&jm) 续接到_c if(Laelemi]. key<=Lbelem[jl. key) Lc→> elema++]= Laelem[i计++l; else lc->elem[k++==Lb elem[j++; while(i<nlc>elem[k++=Laelemi++ while(j<m)Lc-elem( k++|=Lb elem[j++顺序表(cont’d) 2、顺序表的操作实例 【例】线性表的合并 时间复杂度:O(n+m) void Sqmerge(SQLIST La,SQLIST Lb, SQLIST *Lc) { int i=0,j=0,k=0,m,n; n=La.len;m=Lb.len;Lc→len=m+n; while(i<n&&j<m) if(La.elem[i].key<=Lb.elem[j].key) Lc→elem[k++]=La.elem[i++]; else Lc→elem[k++]=Lb.elem[j++]; while(i<n)Lc→elem[k++]=La.elem[i++]; while(j<m)Lc→elem[k++]=Lb.elem[j++]; } 将La或Lb中 的剩余部分 续接到Lc 依次将La,Lb 中的较小者 续接到Lc中
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有