顺序表的插入,删除和查找

顺序表的特点:

1、随机访问特性,即可以随机存取,找到指定的元素

2、存储密度高,表中元素的逻辑顺序语气物理顺序相同

3、插入和移除需要移动大量元素

(1)插入操作

在顺序表L的第i个位置插入新元素e。将表中的第i个元素及其后的元素右移一个位置,腾出一个位置插入新元素,表长加1

bool ListInsert(Sqlist &L,int i,ElemType e){

if(i<1||i>L.length+1)

return false;

if(L.length>=MaxSize)

扫描二维码关注公众号,回复: 855018 查看本文章

return false;

for(int j=L.length;j>=i;j--)

L.data[j] = L.data[j-1];

L.data[i-1] = e;

L.length ++;

return true;

}

(2)删除操作

删除顺序表L中的第i个元素。删除元素用变量e返回

bool Delete(SqList &L,int i,int &e){

if(i<1||i>L.length+1)

return false;

e =L.data[i-1];

for(int j=i;j<L.length;j++)

L.data[j-1]=L.data[j];

L.length--;

return true;

}

(3)顺序查找

在顺序表L中查找第一个元素值为e的元素,并返回其位序

int Locate(SqList L,ElemType e){

int i;

for(int i=0;i<L.length;i++)

if(L.data[i]==e)

return i+1;

return 0;

}

猜你喜欢

转载自1255068859.iteye.com/blog/2197230
今日推荐