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

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

1、线性表的逻辑结构?第2 章线性表线性表的基本操作(10) 表置空操作Clear( Linear_list &L);//无论给定线性表L是否为空表,操作结果将L置为空表。还有数种操作可以归入线性表的基本操作(11)对线性表的数据元素按某一数据项的值做升序或降序排序。(12) 复制一个线性表,即产生一个与原线性表相同的新表。(13) 按一定规则,把两个或两个以上的线性表合并为一个线性表。(14)按一定规则,把一个线性表分解为两个或多个线性表。第13页1、线性表的逻辑结构?第2 章线性表对线性表进行操作例1:定位函数Locate的实现int Locate( Linear_List L, elemtype X ){ for( int i = 1; i <= Length(L); i++ )if( Get( L, i ) == X ) return(i);return(0);} //Locate算法复杂程度:O(Length(L)/2) (数组方式存储)第14页?对线性表进行操作第2 章线性表例2-1求两集合A和B的并集A=A∪B(用线性表LA代表集合A;线性表LB代表集合B )[分析] 依次取得表LB中的每个数据元素,将其值查找表LA,若不存在,则插入之(插至表LA的末尾)。Union( Linear_List &LA, Linear_List LB)/*将所有在线性表LB中存在而线性表LA中不存在的数据元素插入到线性表LA中去*/{n = Length(LA);//确定线性表LA的长度for( i = 1; i <= Length(LB); i++ ){ x = Get(LB, i);//取LB中第i个数据元素if(!Locate(LA, x)){ Insert(LA, ++n, x);}//将LA中不存在的元素x插入至LA的尾部,同时修改n的值}} //Union 算法2.1第15页?对线性表进行操作第2 章线性表例2-2合并两个有序线性表,且保持新表的有序性。[分析] 举例以明之。设LA=(3,6,9,11)LB=(4,6,8,11,13,17,20)则LC=(3,4,6,6,8,9,11,11,13,17,20)第16页