《数据结构》课件(C语言) 第02章顺序表 - 图文

发布时间 : 星期日 文章《数据结构》课件(C语言) 第02章顺序表 - 图文更新完毕开始阅读

?对线性表进行操作第2 章线性表Merge_list(Linear_list LA, LB, Linear_list &LC)/*已知线性表LA和LB中元素依值非递减有序排列,本算法合并LA和LB得到线性表LC,LC中元素仍依值非递减有序排列*/InitList(LC); i = j = 1;k = 0;//初始化while((i≤Length(LA)) && (j≤Length(LB))){ if( Get(LA, i)≤Get(LB, j)){ Insert(LC, ++k, Get(LA, i)); i++ }else{ Insert(LC, ++k, Get(LB, j));j++ }}while( i≤Length(LA))//插入LA的剩余段{ Insert(LC, ++k, Get(LA, i));i++ }while( j≤Length(LB))//插入LB的剩余段{ Insert(LC, ++k, Get(LB, j));j++ }} //Merge_list算法2 .2第17页?对线性表进行操作第2 章线性表算法2.2时间复杂度O(Length(LA)+Length(LB))(以“插入”作为基本操作)第18页第2章线性表2、线性表的顺序存储结构?第2 章线性表用数组实现线性表用一组地址连续的存储单元,依次存储线性表的各数据元素。使得逻辑上相邻的两个元素存储在数组的两个相邻的单元中,即线性表中的第i个元素存储在数组的第i个单元中。设每个数据元素的存储空间为L,第一个元素的存储位置为Loc(a1),Loc(ai+1)=Loc(ai)+L一般地第i个元素的存储位置为Loc(ai)=Loc(a1)+(i-1)*L好处:可以随机存取线性表中的元素第19页2、线性表的顺序存储结构?第2 章线性表用数组实现线性表由于数组的大小是不可变的,而线性表的长度却是可变化,所以在用数组实现线性表时,必须根据需要设置数组的大小,同时还要设置一个变量域来指示当前表尾的位置。#define MaxLen = 线性表可能达到的最大长度;struct sqListType {elemtype elem[MaxLen];int Last;};数据域Last表示线性表的长度,指示最后一个数据元素在数组中的存储位置。第20页

联系合同范文客服:xxxxx#qq.com(#替换为@)