摘要:
/* c4-3.h 串的块链存储表示 */ #define CHUNKSIZE 4 /* 可由用户定义的块大小 */ typedef struct Chunk { char ch[CHUNKSIZE]; struct Chunk *next; }Chunk; typedef struct { Chunk *head,*tail; /* 串的头和尾指针 */ int curlen; /* 串的当前长度 */ }LString; /* bo4-3.c 串采用块链存储结构(由c4-3.h定义)的基本操作(16个) */ void InitString(LString *T) { /... 阅读全文
摘要:
/* c4-2.h 串的堆分配存储 */ typedef struct { char *ch; /* 若是非空串,则按串长分配存储区,否则ch为NULL */ int length; /* 串长度 */ }HString; /* bo4-2.c 串采用堆分配存储结构(由c4-2.h定义)的基本操作(15个) */ /* 包括算法4.1、4.4 */ Status StrAssign(HString *T,char *chars) { /* 生成一个其值等于串常量chars的串T */ int i,j; if((*T).ch) free((*T).ch); /* 释放T... 阅读全文
摘要:
/* c4-1.h 串的定长顺序存储表示 */ #define MAXSTRLEN 40 /* 用户可在255以内定义最大串长(1个字节) */ typedef char SString[MAXSTRLEN+1]; /* 0号单元存放串的长度 */ /* bo4-1.c 串采用定长顺序存储结构(由c4-1.h定义)的基本操作(14个) */ /* SString是数组,故不需引用类型。此基本操作包括算法4.2,4.3,4.5 */ Status StrAssign(SString T,char *chars) { /* 生成一个其值等于chars的串T */ int i; if(st... 阅读全文