題目地址: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; }