intIsLast(Position P, List L){return P->Next ==NULL;}
返回某个元素在表中的位置
Position Find(Elementype X, List L){
Position P;
P = L->Next;while(P !=NULL&& P->Element != X)
P = P->Next;return P;}
删除表中的某个元素
Position FindPrevious(Elementype X, List L){
Position P;
P = L;while(P->Next !=NULL&& P->Next->Element != X)
P = P->Next;return P;}voidDelete(Elementype X, List L){
Position P, TmpCell;
P =FindPrevious(X, L);if(!IsLast(P, L)){
TmpCell = P->Next;
P->Next = TmpCell->Next;free(TmpCell);}}
插入元素
voidInsert(Elementype X, List L, Position P){
Position TmpCell;
TmpCell =malloc(sizeof(struct Node));if(TmpCell ==NULL)FatalError("Out of space!!!");
TmpCell->Element = X;
TmpCell->Next = P->Next;
P->Next = TmpCell;}
删除链表
voidDeleteList(List L){
Position P, Tmp;
P = L->Next;
L->Next =NULL;while(P !=NULL){
tmp = P->Next;free(P);
P = tmp;}}