链表lianbiao
线性表的一种存储结构,是对线性表进行动态分配的有效技术. 链表中的每个结点元素都由两部分组成:数据域和链域 (指针域),链表中的数据元素是以任意顺序存放的,数据元素之间的相邻关系由链指针来指示. 链指针是一个整数,这个整数就是下一个相邻数据元素的存储单元地址. 在链表的大多数应用中,每个数据元素可能是一个记录,而不是单个数据项.
下面举一个例子,有A,B,C,D,E,F6个人的档案,记录在数据域中,如需按字母顺序把记录排列好,这时可用链指针把它们一个一个地串连起来. 下

图1

图2
图1画出了链表的物理结构,可见6个人的档案在存储单元中不是有序排列的. 但是. 通过链指针,在逻辑结构中 (图2)却是依字母先后次序排列好了. 图1中,F后面的指针域填入—1用以标志它是链尾. 链头HEAD的值为3,标志着3单元中的数据是第一个数据.
链表除上述的单向链表外,还有双向链表,这种链表的每个结点有两个指针域,其一指向直接后继结点,另一指向直接前趋结点.如果在单向链表的基础上,将表中最后一个结点的指针域指向头结点,使整个链表形成一个环,称之为循环链表