数据结构(线性表)-单链表

时间:2021-04-25 07:42:03
/*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.注意指针和指针所指实际内容的差别