题目地址:https://pintia.cn/problem-sets/15/problems/725
顺序表基本操作
注意初始化空表的时候 List L = (List)malloc(sizeof(List)) 会导致答案错误,但是本地编译并不会报错
正确写法应该是 List L = (List)malloc(sizeof(struct LNode))

List MakeEmpty() {
List L = (List)malloc(sizeof(struct LNode));//sizeof(list)会导致答案错误--++
L->Last = -1;
return L;
}
Position Find(List L, ElementType X) {
for(int i = 0; i <= L->Last; ++i) {
if(L->Data[i] == X) return i;
}
return ERROR;
}
bool Insert(List L, ElementType X, Position P) {
if(L->Last+1 == MAXSIZE) {
printf("FULL");
return false;
}
if(P > L->Last+1 || P < 0) {
printf("ILLEGAL POSITION");
return false;
}
for(int i = L->Last+1; i > P; i--) {
L->Data[i] = L->Data[i-1];
}
L->Data[P] = X;
L->Last++;
return true;
}
bool Delete(List L, Position P) {
if(P > L->Last || P < 0) {
printf("POSITION %d EMPTY", P);
return false;
}
for(int i = P; i < L->Last; ++i) {
L->Data[i] = L->Data[i+1];
}
L->Last--;
return true;
}
