#define MAXSIZE 10
typedef struct{
int data[MAXSIZE];
int length;
}SqList_1;
#define InitSize 100
typedef struct{
int *data;
int MaxSize;
int length;
}SqList;
void InitList_1(SqList_1 &L){
L.length=0;
}
bool InitList(SqList &L){
L.data=(int *)malloc(sizeof(int)*InitSize);
if(!L.data){
cout<<"分配存储空间失败"<<endl;
return false;
}
L.length=0;
L.MaxSize = InitSize;
return true;
}
void IncreaseSize(SqList &L, int len){
int *p=L.data;
L.data=(int *)malloc((L.MaxSize+len)*sizeof(int));
for(int i=0; i<L.length; i++){
L.data[i]=p[i];
}
L.MaxSize=L.MaxSize+len;
free(p);
}
bool ListInsert(SqList_1 &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_1 &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;
}
int GetElem(SqList_1 L, int i){
return L.data[i-1];
}
int GetElem(SqList L, int i){
return L.data[i-1];
}
int LocateElem(SqList L, int e){
for(int i=0;i<L.length;i++)
if(L.data[i]==e)
return i+1;
return 0;
}
int main()
{
SqList_1 L;
InitList_1(L);
for(int i=0;i<L.length; i++)
printf("data[%d]=%d\n",i,L.data[i]);
int e;
if(ListDelete(L,4,e))
printf("已删除第4个元素,删除元素的值为=%d\n",e);
else
printf("位序i不合法,删除失败\n");
return 0;
}