(1)顺序表的定义
#define Maxsize 50
typedef struct{
ElemType data[Maxsize];
int length;
}Sqlist;
(2)顺序表的插入操作
//在顺序表的第i个位置上插入数据元素e
bool ListInsert(Sqlist &L,int i,ElemType e){
//判断插入位置是否合法
if(i<1||i>L.length+1)
return false;
if(L.ength>=Maxsize)
return false;
//待插入位置后的所有元素右移
for(int j=L.length;j>=i;j--){
L.data[j]=L.data[j-1];
}
L.data[i-1]=x;
L.length++;
return true;
}
(3)顺序表的删除操作
//删除顺序表中第i个位置的元素,并将被删除元素返回
bool ListDelete(SqList &L,int i, ElemType &x){
//判断删除位置是否合法
if(i<1||i>L.length)
return false;
x=L.data[i-1];
//将待删除元素之后的元素左移
for(int j=i;j<L.length;j++){
L.data[i-1]=L.data[i];
}
L.length--;
return true;
}