本文为学习《大话数据结构》所做的笔记,详细可以阅读此书。
定义:
为了表示每个数据元素 ai与其直接后继数据元素 ai+1 之间的逻辑关系,对数据元素刮来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。我们把存储数据元素信息的域称为数据域,把存储直接后继位置(地址信息)的域称为指针域。 指针域中存储的信息称做指针或链。 这两部分信息组成数据元素 ai的存储映像,称为结点 (Node) 。
链表的每个结点中只包含一个指针域,所以叫做单链表。
链表中第一个结点的存储位置叫做头指针 。
单链表的第一个结点前附设一个结点,称为头结点。头结点的数据域可以不存储任何信息,也可以存储如线性表的长度等附加信息,头结点的指针域存储指向第一个结点的指针。
注意:头指针与头结点的异同
单链表逻辑图:
数据结构:
/*线性表的单链表存储结构* /
typedef struct Node
{
ElemType data;
struct Node *next ;
} Node;
typedef struct Node *LinkList; / *定义 LinkList*/
逻辑图: