定义:
ADT String{
数据对象:D={ai| ai∈CharacterSet, i=1,2,…,n,n≥0}
数据关系:R1={
基本操作:
(1)StrAssign(&T,chars)//串赋值
(2)StrCompare(S,T)//串比较
(3)StrLength(S)//求串长
(4)Concat(&T,S1,S2)//串连接
(5)SubString(&Sub,S,pos,len)//求子串
(6)StrCopy(&T,S)//串拷贝
(7)StrEmpty(S)//串判空
(8)ClearString(&S)//清空串
(9)Index(S,T,pos)//子串的位置
(10)Replace(&S,T,V)//串替换
(11)StrInsert(&S,pos,T)//子串插入
(12)StrDelete(&S,pos,len)//子串删除
(13)DestroyString(&S)//串销毁
}ADT String
串的顺序存储结构:
#define MAXLEN 255
typedef struct{
char ch[MANLEN+1];//存储串的一维数组
int length;//串的当前长度
}SString;
串的链式存储结构——块链结构
#define CHUNKSIZE 80 //块的大小可由用户定义
typedef struct Chunk{
char ch[CHUNKSIZE];
struct Chunk next;
}Chunk;
typedef struct{
Chunk head, *tail; //串的头指针和尾指针
int curlen; //串的当前长度
}LString; //字符串的块链结构
