线性表

2019-03-02  本文已影响0人  牛倩贱

线性表:

    线性表:零个或多个数据元素的有限序列。

    在复杂的线性表中,一个数据元素可以由若干个数据项组成。

线性表顺序存储结构的优缺点:

    优点:无须为表示表中元素之间的逻辑关系而增加额外的存储空间;可以快速的读取表中任一位置的元素。

    缺点:插入和删除操作需要移动大量的元素;当线性表长度变化较大时难以确定存储空间的容量;造成存储空间的碎片。

链式结构中,除了要存数据元素信息外,还要存储他的后继元素的存储地址。

头指针是链表的必要元素,头结点不一定是链表的必要元素。

注意:归并

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)){

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)

}

例题:已知顺序表La和Lb中的数据元素按值非递减有序排列,现要将La和Lb归并为一个新表Lc,且Lc中的元素仍按指非递减有序排列。

La=(3,5,8,9);Lb=(2,6,8,10,11,15,20)

Lc=(2,3,5,6,8,8,9,10,11,15,20)

上一篇下一篇

猜你喜欢

热点阅读