文件名称:串的动态存储结构-数据结构的教程
文件大小:5.3MB
文件格式:PPT
更新时间:2024-05-16 03:01:39
发的
2.串的动态存储结构 我们知道,串的各种运算与串的存储结构有着很大的关系,在随机取子串时,顺序存储方式操作起来比较方便,而对串进行插入、删除等操作时,就会变得很复杂。因此,有必要采用串的动态存储方式。 串的动态存储方式采用链式存储结构和堆存储结构两种形式: (1)链式存储结构 串的链式存储结构中每个结点包含字符域和结点链接指针域,字符域用于存放字符,指针域用于存放指向下一个结点的指针,因此,串可用单链表表示。 用链表存放字符串时,其结构用C语言定义如下: typedef struct node{ char str; struct node *next; } slstrtype; 用单链表存放串,每个结点仅存储一个字符,如图4-3所示,因此,每个结点的指针域所占空间比字符域所占空间要大得多。为了提高空间的利用率,我们可以使每个结点存放多个字符,称为块链结构,如图4-4所示每个结点存放4个字符。