静态链表(五)
来源:互联网 发布:js格式化代码插件 编辑:程序博客网 时间:2024/06/06 03:21
静态链表
单链表是一种动态链表。
用数组描述的链表是静态链表。静态链表的存储结构如下:
<span style="font-size:18px;">#define MAXSIZE 1000typedef int ElemType;typedef struct{ ElemType data;//数据 int cur;//游标}Component,StaticLinkList[MAXSIZE];</span>
下面的为一静态链表的实例;
注意:数组下标为0的元素不存放任何数据且游标是指向第一个没有存放数据的元素的下标。下标为MAXSIZE - 1,也不存放任何数据且游标是指向第一个存放数据的元素的下标。其它的每一个元素的游标都是存放它下一个元素的下标地址,即其它每一个元素的游标都是指向它下一个元素。
上面实例有一错误,就是链表最后一个元素的游标为0,图上对应的就是o元素的游标应该为0。
静态链表的初始化相当于初始化数组,如下所示:
#define MAXSIZE 1000typedef int ElemType;typedef struct{ ElemType data;//数据 int cur;//游标}Component,StaticLinkList[MAXSIZE];int InitList(StaticLinkList tan){for(int i = 0;i < MAXSIZE - 1;i++){tan[i].cur = i + 1;}tan[MAXSIZE - 1].cur = 0;return 1;}//静态链表此时为空的,所以初始化后,游标赋值情况与上面的有点不一致,但是不影响
1)对数组的第一个和最后一个元素做特殊处理,它们的data不存放数据。
2)未使用的数组元素称为备用链表。
3)数组的第一个元素,即下标为0的那个元素的cur存放备用链表的第一个结点的下标;数组的最后一个元素,即下标为MAXSIZE - 1 的cur则存放第一个有数据的元素的下标,相当于单链表中的头结点作用。
4)链表的最后一个元素(不一定是数组的最后一个元素),链表最后一个元素的cur一般存放0,表示它后面的结点为空了。
0 0
- 静态链表(五)
- 数据结构编程笔记五:第二章 线性表 静态链表的实现
- 多线程五(同步静态函数)
- 静态链表
- VB静态链表
- 静态链表
- 静态链表
- 静态链表
- 静态链表
- 静态链表
- 静态链表实例
- 静态链表
- 静态链表。实现。
- 静态链表
- 静态链表
- 静态链表例子
- 静态链表模版
- 静态链表
- 01 java.lang.Object
- xxxccc
- 通向码农的道路(服务器架构设计(一))
- HDU 2066 一个人的旅行 dijkstra&&spfa
- 优化Android Studio/Gradle构建
- 静态链表(五)
- 多线程(二) GCD
- [笔记]iOS开发之多线程GCD和NSOperation基本使用
- POJ-2248(加法链,DFS)
- const int * pt和int * const pt的区别
- HDU4638 Group (线段树,莫队算法)
- 山地自行车零件选择及使用误区
- 蜡笔
- aauto学习系列之<2>