有序线性表合并的算法
来源:互联网 发布:数据分析展示平台 编辑:程序博客网 时间:2024/05/22 06:11
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));
{ 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));
0 0
- 有序线性表合并的算法
- 有序线性表合并的算法
- 1324:算法2-2:有序线性表的有序合并
- 1324:算法2-2:有序线性表的有序合并
- 1324:算法2-2:有序线性表的有序合并
- 1324: 算法2-2:有序线性表的有序合并
- 1324: 算法2-2:有序线性表的有序合并
- Codeup_1324: 算法2-2:有序线性表的有序合并
- HNCU1324: 算法2-2:有序线性表的有序合并
- 有序线性表的合并
- 有序线性表的有序合并
- 【数据结构】-线性表-顺序表-1324: 算法2-2:有序线性表的有序合并
- HNCU1324:算法2-2:有序线性表的有序合并(线性表)
- 线性表和有序表的合并
- hncu1324 有序线性表合并
- 合并有序链式线性表
- 数据结构算法(一)--有序线性表的合并和交集
- 高分笔记考研oj——1324: 算法2-2:有序线性表的有序合并,zoj
- mysql命令汇总
- Android开发系列(四):如何对应用进行单元测试
- 2014年中国安防十大品牌企业排行榜
- Java虚拟机内存结构
- 1024. Palindromic Number (25)
- 有序线性表合并的算法
- Qt Creator的下载、安装及试用
- java基础
- 【C++】函数
- poj 1556 The Doors
- 在Libgdx中修正物理引擎Box2d时间步长
- Cocos2d-x3.2 飞机大战类游戏中实现随机出现敌机的方法
- grunt学习笔记(适用初学者)
- Android 开源框架ViewPageIndicator(标签指示器)结合ViewPager使用