单链表的数据描述

来源:岁月联盟 编辑:zhu 时间:2009-02-20
   一般形式: 
    struct结构体名 
    {成员及类型说明; 
    struct结构体名*指针域; 
    ) 
    指针域成员用于存放下一个数据的地址,由此完成链表中数据的链接。非指针域成员是我们真正要处理的数据。从形式上看,单链表的数据描述就是在原结构体描述数据的基础上增加指针成员。 
    请读者注意,定义指针域成员时,形成一种递归定义的结构体类型。C语言允许在定义结构体时这样做,以完成链表等数据结构的数据描述。 
    在单链表中,指针域只有一个,但非指针域个数不限制。为了描述方便,我们将非指针域个数也定为一个,并且按下面给定的类型来描述链表: 
    struct linklist 
    {int data; 
    struct linklist*next; 
    }; 
    struct linklist*head; 
    用上述数据类型,可描述一个链表(由head指针确定):head—A1一A2一……一An—NULL,如图10一2所示。
    链表中的一个数据称为一个结点。其中,head为头指针,存放链表的第一个结点地址,表示链表的开始。结点A1、A2、…、An的data域值a1、a2、…、an为整数。A1结点的next域存放A2结点地址,A2结点的next域存放A3结点的地址,依此类推。最后,An结点后已无结点,其next域不存放任何实际结点地址,故为空指针NULL,NuLL表示链表结束。

图片内容