1、堆分配存储表示的特点:以一组地址连续的存储单元存放串值字符序列,但他们的存储空间是在程序执行过程中动态分配的。在C语言中,存在一个称之为“堆”的自由存储区,并由C语言的动态分配函数malloc()和free()来管理。
2、串的堆分配存储表示:
typedef struct{
char *ch;//若是非空串,则按串长分配存储区,否则ch为NULL;
int length;//串长度
}HString;
3、基本操作的函数原型声明:
Status StrInsert(HString &S,int pos,HString T);//在串S的第pos个字符之前插入串T。
Status StrAssign(HString &T,char *chars);//生成一个其值等于串常量chars的串T.
int StrLength(HString S);//返回串S的长度
int StrCompare(HString S,HString T);//若S>T,返回值>0,若S=T,返回值=0.否则返回值<0;
Status ClearString(HString &S);//将S清为空串,并释放S所占空间
Status Concat(HString &T,HString S1,HString S2);//用T返回由S1和S2连接而成的新串。
HString SubString(HString &Sub,HString S,int pos,int len);//求子串
4、——————————算法描述————————————