串的存储实现方法(与链表相关)
一、 定义
字符串是由零个(空串)或多个字符组成的有限序列。
eg:S="Hello World!"
串相等:两个串长度相等并且对应位置的字符都相等时,两个串才相等。
二、串的存储实现
2.1 定长顺序串
2.2 堆串
和定长顺序串的区别就是串值空间时动态申请的,没有限制。
字符串包涵串名、串值两部分。
串名用串名符号表存储
串值采用堆串存储方法
串名符号表:
所有串名的映像构成一个符号表,借此在串名与串值间构成对应关系,称为串名的存储映像。(其实就是一个长串你给他起了个新名字)
堆串存储:
就是用malloc()与free()完成动态存储管理。
2.3 块链串
就是有块、链。
块:每个结点。一个结点存放一个串值,可以有多个字符,也可以只有一个字符。
链:几个结点连起来就是链。
只要把每个结点的存放字符个数改成1,就是线型链表了。