顺序表的特点:
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)
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;
}