实现方法:系统提供一个空间足够大且地址连续的存储空间(称为“堆”)
供串使用。可使用C语言的动态存储分配函数malloc()和free()来管理
串的堆式存储结构的类型定义
typedef struct
{ char *ch; /* 若非空,按长度分配,否则为NULL */
int length; /* 串的长度 */
} HString ;
4.2.3 串的链式存储表示
的链式存储结构和线性表的串的链式存储结构类似,采用单链表来存
储串,结点的构成是: ◆ data域:存放字符,data域可存放的字符个数称
为结点的大小; ◆ next域:存放指向下一结点的指针。
串的块链式存储的类型定义包括:
⑴ 块结点的类型定义
#define BLOCK_SIZE 4
typedef struct Blstrtype
{ char data[BLOCK_SIZE] ;
struct Blstrtype *next;
}BNODE ;
(2) 块链串的类型定义
typedef struct
{ BNODE head; /* 头指针 */
int Strlen ; /* 当前长度 */
} Blstring ;