08-数据结构_线性结构-离散存储-链表_1
来源:互联网 发布:像素软件 编辑:程序博客网 时间:2024/04/30 04:41
离散存储[链表]
2) 结点之间通过指针相连
3) 首结点 没有前驱结点, 尾结点 没有后继结点
4) 每个结点(除首尾结点), 有且仅有一个前驱结点, 有且仅有一个后续结点
1)首结点
第一个有效结点
2)尾结点
最后一个有效节点
3)头结点
与首结点类型一致
第一个有效节点之前的结点
不存放有效数据
目的: 方便对链表的操作
4)头指针
指向 头结点 的指针变量
即存放 头结点的地址
5)尾指针
因为 尾结点 的指针域为 NULL
知道 一头一尾 即可确定一个链表
{
int data; // 数据域
struct Node * pNext; // 指针域
} NODE, * PNODE; // NODE <==> struct Node, PNODE<==>struct Node *
双链表
每个结点有两个指针域
2, 循环链表
能通过任何一个结点找到其他所有结点.
非循环链表
一, 连续 与 离散
如图 05-离散与连续.jpg
二, 定义
1, 什么是链表
1) n个结点离散分配2) 结点之间通过指针相连
3) 首结点 没有前驱结点, 尾结点 没有后继结点
4) 每个结点(除首尾结点), 有且仅有一个前驱结点, 有且仅有一个后续结点
2, 补充
如图 05-链表.jpg1)首结点
第一个有效结点
2)尾结点
最后一个有效节点
3)头结点
与首结点类型一致
第一个有效节点之前的结点
不存放有效数据
目的: 方便对链表的操作
4)头指针
指向 头结点 的指针变量
即存放 头结点的地址
5)尾指针
指向 尾结点 的指针变量
3, 确定一个链表
仅需要 头指针因为 尾结点 的指针域为 NULL
知道 一头一尾 即可确定一个链表
4, C语言中定义结点
typedef struct Node{
int data; // 数据域
struct Node * pNext; // 指针域
} NODE, * PNODE; // NODE <==> struct Node, PNODE<==>struct Node *
三, 分类
1, 单链表双链表
每个结点有两个指针域
2, 循环链表
能通过任何一个结点找到其他所有结点.
非循环链表
如图
- 08-数据结构_线性结构-离散存储-链表_1
- 09-数据结构_线性结构-离散存储-链表_插删伪算法
- 10-数据结构_线性结构-离散存储-链表_创建与遍历链表
- 数据结构线性结构之离散存储--链表
- 数据结构学习笔记之线性结构--离散存储[链表]
- 数据结构之线性结构的离散存储(单链表)
- 【算法和数据结构】_9_线性结构_队列_续_1
- 07-数据结构_线性结构-连续存储-数组
- 数据结构与算法(线性表_链式存储结构)
- 数据结构:线性表的链式存储结构_单链表
- 数据结构与算法(线性表_链式存储结构)
- 数据结构与算法_1:线性表顺序存储结构常见操作
- 数据结构_线性结构_线性表
- 离散存储_链表
- 线性结构--离散存储 链表讲解
- 数据结构之线性结构的离散存储(循环列表和双向链表)
- 离散数据结构,线性数据结构
- 线性结构_链表
- poi的常用api .
- git 命令自动完成
- 并查集
- ERROR 1203 (42000): User ivr already has more than 'max_user_connections' active connections
- HTML&CSS学习总结
- 08-数据结构_线性结构-离散存储-链表_1
- ipseccmd
- 多声道音频数据和 WAVE 文件
- do while(FLASE)的妙用【转】
- hdu 4602题解
- 针对乐视网的主页无法打开的解决办法
- HDU--杭电--2191--悼念512汶川大地震遇难同胞——珍惜现在,感恩生活--背包
- uva839 Not so Mobile (重建二叉树)
- 在matlab中使用矩阵拟合2维函数