数据结构与算法学习笔记(五)
2016-03-16 14:51
471 查看
静态链表:用数组描述的链表叫做静态链表,这种描述方法叫做游标实现法
线性表的静态链表存储结构
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/07/ffa347722530def48fa64da69eb4928f.png)
对静态链表进行初始化相当于初始化数组
静态链表初始化的特点
我们队数组的第一个和最后一个元素做特殊处理,他们的data不存放数据
我们通常把未使用的数组元素称为备用链表
数组的第一元素,即下标为0的那个元素的cur就存放备用链表的第一个结点的下标
数组元素的最后一个元素,即下标为MAXSIZE-1的cur则存放第一个有数值元素的下标,相当于单链表的头结点作用
线性表的静态链表存储结构
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/07/ffa347722530def48fa64da69eb4928f.png)
#define MAXSIZE 1000 typedef struct { ElemType data; //数据 int cur; //游标(Cursor) }Component,StaticLinkList[MAXSIZE];
对静态链表进行初始化相当于初始化数组
Status IntList(StaticLinkList space) { int i; for (i = 0; i < MAXSIZE - 1 ; i++) { space[i].cur = i + 1; } space[MAXSIZE-1].cur = 0; return OK; }
静态链表初始化的特点
我们队数组的第一个和最后一个元素做特殊处理,他们的data不存放数据
我们通常把未使用的数组元素称为备用链表
数组的第一元素,即下标为0的那个元素的cur就存放备用链表的第一个结点的下标
数组元素的最后一个元素,即下标为MAXSIZE-1的cur则存放第一个有数值元素的下标,相当于单链表的头结点作用
相关文章推荐
- 数据结构之二叉搜索树/二叉查找数/有序二叉树/排序二叉树
- 老司机解说Go语言之数据结构
- 复杂度问题
- Java数据结构笔记3——MyArrayList
- 复杂数据结构(三 )图
- 数据结构(9)线性表之循环链表介绍
- 数据结构(8)线性表之静态链表
- 隐匿在数据结构背后的原理
- 经典算法与数据结构的c++实现——插入排序
- LeetCode动态规划198. House Robber思路解析
- 【数据结构与算法】(六) c 语言实现简单的二叉树静态创建及先序、中序、后序遍历
- 数据结构与算法学习(二)(续)
- 数据结构与算法学习(三)
- 数据结构(7)线性表之链表C++实现差集
- 活用 巧用数据结构
- 数据结构(6)线性表之链表C++实现交集
- java数据结构与算法分析之递归
- 数据结构--线性表复习
- 复杂数据结构(二)树
- 数据结构(个人学习)