/*Find 例程*/ Position Find(ElementType X,List L) { Position P; P=L->Next; while(P!=NULL&&P->Element!=X) P=P-Next; return P; } /*Delete*/ void Delete(ElementType X,List L) { Position P,TemCell; P=FindPrevious(X,L); if(!IsLast(P,L)) { TemCell=P->Next; P->Next=TemCell->Next; free(TmpCell); } } Position FindPrevious(ElementType X,List L) { Position P; P=L; while(P->Next!=NULL&&P->Next->Element!=X) P=P->Next; return P; }
单链表常见错误:
1.遗漏P的定义,不可能指向内存有效部分
2.确定一个链表指向,就必须保证该指针不是NULL
3.声明指向一个结构的指针并不创建该结构,而只是给出足够的空间容纳结构可能会使用的地址
4.注意指针和指针所指实际内容的差别