单链表的数据描述
来源:岁月联盟
时间: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表示链表结束。