阿Q注:以下均为C实现
定长顺序存储
// 定长顺序存储
#define MAXLEN 255
typedef struct
{
/* data */
char ch[MAXLEN];
int length;
}SString;
堆分配存储
// 堆分配存储
typedef struct
{
/* data */
char *ch;
int length;
}HString;
// 堆分配(动态分配),用 malloc()和free()管理(C语言)
/*
HString S;
S.ch = (char*)malloc(30*sizeof(char)); //创建
free(S.ch); //释放
*/
块链存储
// 块链存储
// 块链节点
#define ChunkSize 20
typedef struct Chunk
{
/* data */
char ch[ChunkSize];
struct Chunk *next;
}Chunk,*ChunkList;
// 块链
typedef struct
{
Chunk *head; // 头指针,指向第一个块
Chunk *tail; // 尾指针,指向最后一个块
int curlen; // 记录串中字符个数
}Cstring;
评论