目录
1. 链表
1.1 链表的定义
单链表结构
将线性表L = (a0....an)逻辑关系1对1的;L数据对象,是多个数据元素,数据元素之间的
逻辑关系是1对1的;选择以链式存储的存储结构,存入到计算机中。能够进行增删改查操
作;
数据对象:L = (a0....an)
逻辑结构;1对1
存储结构:链式存储
链式存储:定义一个节点,包含两部分内容:数据域和指针域
数据域:存放数据元素
指针域:存放下一个节点的首地址
1.2 特点
(1)存储可以不连续,大小可以不固定
(2)实际的物理内存是不连续,逻辑上是1对1的关系保留了,是连续的。
(3)查找不太方便;没有索引;插入和删除比较方便;
1.3 链表定义的代码实现
typedef int data_type;
typedef struct linknode
{
data_type data;// 数据域
struct linknode *next; //指针域
}LinkNode;
1.4 单向不循环链表为例
案例: 带头结点的单向不循环链表
1.有没有头结点
带头结点的链表,不带头结点的链表
2.指针域是单向还是双向的
单向链表 双向链表
3.尾结点是否指向头结点
循环链表 不循环链表