4.1 串的定义和实现
基础概念
相关提炼内容见 string。
什么是串
字符串,简称串,在 c++语言中使用关键字 string 来定义
string a = "this is a string";串的存储结构
结构类型定义(本质上就是字符数组)
#define MAXLEN 255
typedef struct{
char ch[MAXLEN + 1]; // 一般下标从1开始,0不用,这样可以简便一些算法
int length;
} SString;- 串的实际长度只能小于等于 MAXLEN,超过预定义长度的串值会被舍去,称为截断
- 堆分配存储表示
- 块链存储表示
#define CHUNKSIZE 80 // 块的大小可由用户自定义
typedef struct Chunk{
char ch[CHUNKSIZE]; // 称为块
struct Chunk* next;
} Chunk;
typedef struct{
Chunk *head, *tail; // 串的头指针和尾指针
int curlen // 串的当前长度
}LString; // 字符串的块链结构串的基本操作,可以看下面两个链接
主要包括构造、销毁、清空、求串长、求字串等