知识大全 串的链式存储
Posted 结点
篇首语:将相本无种,男儿当自强。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 串的链式存储相关的知识,希望对你有一定的参考价值。
串的链式存储
链串 用单链表方式存储串值 串的这种链式存储结构简称为链串 链串的结构类型定义 typedef struct node char data; struct node *next; LinkStrNode; //结点类型 typedef LinkStrNode *LinkString; //LinkString为链串类型 LinkString S; //S是链串的头指针 注意 ①链串和单链表的差异仅在于其结点数据域为单个字符 ②一个链串由头指针唯一确定
链串的结点大小 通常 将结点数据域存放的字符个数定义为结点的大小 结点的大小的值越大 存储密度越高 ( )结点大小为 的链串 【例】串值为 abcdef 的结点大小为 的链串S如下图所示
这种结构便于进行插入和删除运算 但存储空间利用率太低
( )结点大小> 的链串 【例】串值为 abcdef 的结点大小为 的链串S如下图所示
注意 ①为了提高存储密度 可使每个结点存放多个字符 ②当结点大小大于 时 串的长度不一定正好是结点大小的整数倍 因此要用特殊字符来填充最后一个结点 以表示串的终结 ③虽然提高结点的大小使得存储密度增大 但是做插入 删除运算时 可能会引起大量字符的移动 给运算带来不便 【例】上图中 在S的第 个字符后插入 xyz 时 要移动原来S中后面 个字符的位置 结果见下图
cha138/Article/program/sjjg/201311/22628相关参考
串的链式存储cha138/Article/program/sjjg/201311/23382
因为串是特殊的线性表故其存储结构与线性表的存储结构类似只不过由于组成串的结点是单个字符所以存储时有一些特殊的技巧 串的顺序存储 顺序串 串的顺序存储结构简称为顺序串 与顺序表类似顺序串是用
因为串是特殊的线性表故其存储结构与线性表的存储结构类似只不过由于组成串的结点是单个字符所以存储时有一些特殊的技巧串的顺序存储顺序串 串的顺序存储结构简称为顺序串 与顺序表类似顺序串是用一组地址
串的顺序存储 串的顺序存储结构简称顺序串顺序串是用一组地址连续的存储单元依次存储串中的字符序列 静态存储分配的顺序串 顺序串最简单的描述形式是直接使用定长的字符数组来定义数组的上界预先
单链表 链接存储方法 链接方式存储的线性表简称为链表(LinkedList) 链表的具体存储表示为 ①用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的也可以是不连续的)
.任意个连续的字符组成的子序列 . O(m+n) . . .()模式匹配 ()模式串 .()其数据元素都是字符()顺序存储()和链式存储()串的长度相等且两串中对
双向链表(DoubleLinkedList) 双(向)链表中有两条方向不同的链即每个结点中除next域存放后继结点地址外还增加一个指向其直接前趋的指针域 prior > 注意 ①双链表由
> cha138/Article/program/sjjg/201311/23374
循环链表(CircularLinkedList) 循环链表是一种首尾相接的链表 循环链表 ()单循环链表——在单链表中将终端结点的指针域NULL改为指向表头结点或开始结点即可 ()多重链的
作为线性表的一种存储结构我们关心的是结点间的逻辑结构(线性关系)而对每个结点的实际地址并不关心所以通常的单链表用图的形式表示 > >