●算法实现 PURGE(LA)/*清除线性表中重复出现的多余结点*/ List *la: inti=l, k, x,y; int L=lenth(LA); whileli<l x=geLA,i;/取当前第个结点 k=+1; while(k<=L y=ge(LA2k);/取当前第k个结点
算法实现 : PURGE(LA)/*清除线性表中重复出现的多余结点*/ List *LA; { int i=1,k,x,y; int L=lenth(LA); while(i<L) { x=get(LA,i);/*取当前第i个结点*/ k=i+1; while(k<=L) { y=get(LA,k);/*取当前第k个结点*/
if(x==y) Delete(LA,k);/*删除* Else k++. B*PURGE*/
if(x==y) { Delete(LA,k);/*删除*/ L--; } Else k++; } i++; } }/*PURGE*/
线性表的顺序存储 线性表的顺序存储:把线性表的各个数据元素依次存 储在一组地址连续的存储单元里;用这种方法存储的 线性表简称为顺序表。 ●数据元素的存储位置 Q第i+1个数据元素的存储位置LOC(a1+1)和第i 个数据元素的存储位置LOC(a1)之间的关系: LOC (a+1)=loC (ai)+mo 线性表的第个数据元素a的存储位置为: LOC (a)=loC(ai+(i-1)*mo
线性表的顺序存储 线性表的顺序存储:把线性表的各个数据元素依次存 储在一组地址连续的存储单元里 ;用这种方法存储的 线性表简称为顺序表。 数据元素的存储位置: 第i+1个数据元素的存储位置LOC(ai+1)和第i 个数据元素的存储位置LOC(ai)之间的关系: LOC(ai+1)=LOC(ai)+m。 线性表的第i个数据元素ai的存储位置为: LOC(ai)=LOC(a1)+(i-1)*m
●顺序表的特点表中相邻的元素a1和a1计1赋以相邻的存储 位置。 存储地址 数据元素线性表中位序 Loc (ar) Loc (aj)+L Loc (an)+2*L a Loc(a)+(¥1)La Loc (a])+(n-1)*L 图31线性表的顺序存储结构示意图
顺序表的特点:表中相邻的元素ai 和ai+1 赋以相邻的存储 位置