用链式存储实现线性表这种逻辑结构。
单链表,介绍单链表的定义,如何用单链表实现线性表要求的基本运算和操作。
单链表的每个结点存放数据元素和指向下一个结点的指针。
用代码定义单链表,定义单链表的结点,包括数据元素,还有一个指向下一个结点的指针。
构建一个新的结点,就是申请一个结点所需的空间,并用一个结点数据类型的指针指向这个空间。
c语言中typedef关键字可以对数据类型重命名,可以将结点这一数据类型重命名为LNode,然后构建一个新的结点就可以写成LNode *p=。
更简洁的方式是,定义完数据结点后,后边写LNode,*LinkList,就表示将这个类型重命名了,并且LinkList就是一个指针变量,是指向下一个结点的指针。
要声明一个单链表时,只需要声明一个头指针L,指向单链表就可以。
可以写成LNode *L,强调这是一个结点或者LinkList L,强调这是一个链表(声明了一个指向单链表第一个结点的指针)。
1.定义一个不带头结点的单链表
声明一个指向单链表的指针,然后初始化这个空的单链表,就是将这个头指针的空间里面设置成NULL,表示是空的单链表。
2.定义一个带头结点的单链表
同样声明一个指向单链表的指针,然后初始化,初始化过程是定义一个结点作为头结点,头指针L指向这个结点,然后设置头结点的指针域为空,即只有一个头结点。