静态表
#include<cstdio>
#include<cstdlib>
const int maxsize=10;
struct sqlist
{
int data[maxsize];
int length;
};
void InitList(sqlist &L){
for(int i=0;i<maxsize;i++){
L.data[i]=0;
}
L.length=0;
}
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;
}
void PrintList(sqlist L){
for(int i=0;i<L.length;i++)
printf("%d ",L.data[i]);
printf("\n");
}
int main(){
int e;
sqlist L;
InitList(L);
printf("length:%d\n",L.length);
if(ListInsert(L,1,1000))printf("insert successful\n");
else printf("数据有误!!!插入失败\n");
PrintList(L);
if(ListDelete(L,1,e))printf("delete successful value=%d\n",e);
else printf("数据有误!!!删除失败\n");
return 0;
}