搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 测试课堂 > 数据结构知识点

数据结构知识点

测试课堂 2017-11-29
数据结构知识点

归并两个“其数据元素按值非递减有序排列的”线性表 La Lb,求得线性表 Lc 也具有同样特性。La = (3, 5, 8, 11) Lb = (2, 6, 8, 9, 11, 15, 20) Lc = (2, 3,5, 6, 8, 8, 9, 11, 11, 15, 20)思路:1.分别从La Lb 中取得当前元素ai bj 2.若ai £ bj,则将 ai插入到Lc 中,否则将bj插入到 Lc 中。 

void MergeList(List La, List Lb, List&Lc) {

InitList(&Lc); i = j =1; k = 0;

 La_len = ListLength(La);

 Lb_len =ListLength(Lb);

 while((i £ La_len) && ( j £ Lb_len)){ // La Lb 均未取完         GetElem(La,i, ai ); GetElem(Lb, j, bj);

if (ai £ bj) {ListInsert(Lc, ++k, ai ); ++i;}

else { ListInsert(Lc, ++k, bj  ); ++j; }  }

 while (i£La_len){GetElem(La, i++, ai); ListInsert(Lc, ++k, ai);}

while (j£Lb_len){GetElem(Lb, j++, bj); ListInsert(Lc, ++k, bj);}

#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量  

typedef struct {ElemTypeelem[LIST_INIT_SIZE];

#define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量

typedef struct { ElemType elem[LIST_INIT_SIZE]; 

int length;// 当前长度} SqList;




版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《数据结构知识点》的版权归原作者「测试课堂」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注测试课堂微信公众号

测试课堂微信公众号:hello-testing

测试课堂

手机扫描上方二维码即可关注测试课堂微信公众号

测试课堂最新文章

精品公众号随机推荐