线性表顺序存储类型
#define MaxSize 50
typedef struct{
int data[MaxSize];
int length;
}SqList;
动态分配一维数组
#define InitSize 100
typedef struct{
int *data;
int MaxSize,length;
}SqList;
顺序表插入
bool ListInsert (SqList&L,int i,int 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;
}
顺序表删除
bool Listdelete (SqList&L,int i,int&e){
if(i<1||i>L.length)
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;
}
顺序查找(返回位序)
int locate (SqList L,int e)
{
for(int i=0;i<L.length;i++){
if(L.data[i]==e)
return i+1;
}
return 0;
}