//陈
typedef struct LNode *List;
struct LNode{
int Data[MaxSize];//如果放多个元素,这个可改为指针,在初始化中指向数组
int Last;
};
//陈
List MakeEmpty(){
List PtrL;
PtrL=(List)malloc(sizeof(struct LNode));
PtrL->Last=-1;
return PtrL;
}
//陈
int Find(int X,List PtrL){
int i=0;
while(i<=PtrL->Last&&PtrL->Data[i]!=X) i++;
if(i>PtrL->Last) return -1;
else return i;
}
//陈
void insert(ElementType X,int i,List PtrL){
//i表示插入第几个数,他在数组中的位置是i-1
int j;
if(PtrL->Last==MaxSize-1){
printf("表满");
return;
}
if(i<1||i>PtrL->Last+2){
//i最小是第1个数字;last初始值是-1,所以加2,严老师初始值是0,所以加1
printf("位置不合法");
return;
}
for(j=PtrL->Last;j>=i-1;j--)
PtrL->Data[j+1]=PtrL->Data[j];
PtrL->Data[i-1]=X;
PtrL->Last++;
return;
}
//陈
void Delete (int i,List PtrL){
//i表示删除第几个数,他在数组中的位置是i-1
int j;
if(i<1||i>PtrL->Last+1){ //删的位置不合理
printf("不存在");
return;
}
for(j=i;j<=PtrL->Last;j++) //元素往前移一位
PtrL->Data[j-1]=PtrL->Data[j];
PtrL->Last--;
}