先简单介绍一下串,其实串就是我们一般所说字符串,是由多个字符组成的有限序列,‘aasddsfasdggsa',就是一个字符串,串的逻辑结构和线性表很类似,仅仅是串的数据对象限制为字符,然而,串的操作与线性表差别很大,串,想象也知道,是对一串字符操作,而线性表,大都对一个,单个字符进行插入,查询,查找的操作。
下面我将定义串的类型,其实平常我们用数组存储一段字符,就是串的存储,不过我们重新定义了
typedef unsigned char SString[Maxsize+1];
Maxsize为最大长度,可任意定义,而且串的大小也可以随意,不过超过长度的将不会被存储,这是静态存储最大的弊端,不过静态存储的速度很快,
还有一种对串的存储方法,动态存储,动态分配内存,串无限长,没有限制,虽然速度慢些,但实际还是主要使用它,因此我们着重介绍他。
首先定义类型
typedef struct{
char *data;
int length;
}HString;
然后生成串,