特殊的线性表-串-链式存储
来源:互联网 发布:mysql 触发器 锁表 编辑:程序博客网 时间:2024/06/05 06:47
串的链式存储
1、链串
①链串和单链表的差异仅在于其结点数据域为单个字符:
②一个链串由头指针唯一确定。
3、 链串的结点大小
通常,将结点数据域存放的字符个数定义为结点的大小。结点的大小的值越大,存储密度越高。
(1)结点大小为1的链串
【例】串值为"abcdef"的结点大小为1的链串S如下图所示。
1、链串
用单链表方式存储串值,串的这种链式存储结构简称为链串。
2、链串的结构类型定义
typedef struct node{ char data; struct node *next; }LinkStrNode; //结点类型 typedef LinkStrNode *LinkString; //LinkString为链串类型 LinkString S; //S是链串的头指针注意:
①链串和单链表的差异仅在于其结点数据域为单个字符:
②一个链串由头指针唯一确定。
3、 链串的结点大小
通常,将结点数据域存放的字符个数定义为结点的大小。结点的大小的值越大,存储密度越高。
(1)结点大小为1的链串
【例】串值为"abcdef"的结点大小为1的链串S如下图所示。
这种结构便于进行插入和删除运算,但存储空间利用率太低。
(2)结点大小>1的链串
【例】串值为"abcdef"的结点大小为4的链串S如下图所示。
注意:
①为了提高存储密度,可使每个结点存放多个字符。
②当结点大小大于1时,串的长度不一定正好是结点大小的整数倍,因此要用特殊字符来填充最后一个结点,以表示串的终结。
③虽然提高结点的大小使得存储密度增大,但是做插入、删除运算时,可能会引起大量字符的移动,给运算带来不便。
【例】上图中,在S的第3个字符后插入“xyz”时,要移动原来S中后面4个字符的位置,结果见下图。
转载自:http://student.zjzk.cn/course_ware/data_structure/web/chuan/chuan4.2.2.htm
0 0
- 特殊的线性表-串-链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 《线性表的链式存储》
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- 线性表的链式存储
- WebKit浏览器编译——开启宏定义
- HashTable、HashMap与HashSet
- android imageButton 使用透明图片
- Shell编程基础
- 就恢复国家和法国
- 特殊的线性表-串-链式存储
- Building Objective-C static libraries with categories
- LruCache之Android多点触控技术实战,自由地对图片进行缩放和移动
- GMT时间格式转换
- Android性能
- oracle 分析函数
- 使用LruCache和DiskLruCache来下载图片
- Apache Commons-pool实现对象池(包括带key对象池)
- IOS实现半翻页效果