线性表是最简单、最基本的、最常用的一种线性结构。它有两种存储方法:顺序存储和链式存储。线性表的顺序存储是指在内存中用地址连续的一块存储空间顺序存放线性表的各元素,一旦申请某一数组,元素数量不能随意增加并且插入、删除要移动数据,但它具有随机存取的特点。链式存储结构不要求数据相邻,它通过指针建立起他们之间的逻辑关系,因此对线性表的插入、删除不需移动数据且动态性较好,但不能随机访问数据。
安徽省公务员计算机专业知识程序设计题中考的是链式存储结构,且以单链表的建立加以循环判断和输入输出的考察为主,难点和重点是单链表的建立。编程语言为C语言。
一.单链表表示
链表是通过一组任意的存储单元来存储线性表中的数据元素。为建立起数据元素之间的线性关系,对每个数据元素ai,除了存放数据元素
的自身信息ai之外,还需要和ai一起存放其后继ai+1所在的存储单
元的地址,这两部分信息组成一个“节点”,节点的结构如图1。
图1单链表节点结构
其中,存放数据元素信息的称为数据域,存放其后继地址的称为指针域。以此n个元素的线性表通过每个节点的指针域拉成了一个“链”,称之为链表。因为每个节点中只有一个指向后继的指针,所以称之为单链表,如图2。