顺序表的定义
typedef int Postion;
typedef struct LNode{
ElemType Data[MAX];
Position last; //表示顺序表的末尾
}*List;
InitList(){ //初始化
List L;
L=(List)malloc(sizeof(List));
L->last=-1; //-1表示为空
return L;
}
int LocateElem(List L,ElemType e){//查找元素e
Position i=0;
whie(i<=L->last && L->Data[i]!=e) i++;
if(i>L->last) return ERROR;
else return i;
}
boolean ListInsert(List L,Position i,ElemType e){
Position temp;
if(i>L->last+1||i<0) return false;
if(L->last==MAX-1) return false;
for(temp=L->last;temp>=i;--temp)
L->Data[temp+1]=L->data[temp];
L->Data[i]=e;
L->last++;
return true;
}
booelan ListDelete(List L,Position i,ElemType e){
Position temp;
if(i<0||i>L->last) return false;
for(temp=i+1;temp<=L->last;temp++)
L->Data[temp-]=L->Data[temp];
free(L->Data[i]);
L->last--;
return true;
}