C语言数据结构 串的基本操作

C语言数据结构 串的基本操作

ID:45097022

大小:51.74 KB

页数:5页

时间:2019-11-09

C语言数据结构 串的基本操作_第1页
C语言数据结构 串的基本操作_第2页
C语言数据结构 串的基本操作_第3页
C语言数据结构 串的基本操作_第4页
C语言数据结构 串的基本操作_第5页
资源描述:

《C语言数据结构 串的基本操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验九串的基本操作#include#include#includetypedefcharStatus;intstrlen(char*p){inti=0;while(*p++)i++;returni;}typedefstruct{char*ch;//若是非空串,则按串长分配存储区,否则ch为NULLintlength;//串长度}HString;//初始化(产生空串)字符串TvoidInitString(HString*T){(*T).length=0;(*T).ch=NU

2、LL;}//生成一个其值等于串常量chars的串TStatusStrAssign(HString*T,char*chars){inti,j;if((*T).ch)free((*T).ch);//释放T原有空间i=strlen(chars);//求chars的长度iif(!i){//chars的长度为0(*T).ch=NULL;(*T).length=0;}else{//chars的长度不为0(*T).ch=(char*)malloc(i*sizeof(char));//分配串空间if(!(*T).ch)//分配串空间失败exit

3、(0);for(j=0;j

4、]=S.ch[i];(*T).length=S.length;return1;}//若S为空串,则返回1,否则返回0intStrEmpty(HStringS){if(S.length==0&&S.ch==NULL)return1;elsereturn0;}//若S>T,则返回值>0;若S=T,则返回值=0;若S

5、h[i]-T.ch[i];returnS.length-T.length;}//返回S的元素个数,称为串的长度intStrLength(HStringS){returnS.length;}//将S清为空串intClearString(HString*S){if((*S).ch){free((*S).ch);(*S).ch=NULL;}(*S).length=0;return1;}//用T返回由S1和S2联接而成的新串intConcat(HString*T,HStringS1,HStringS2){inti;if((*T).ch)

6、free((*T).ch);//释放旧空间(*T).length=S1.length+S2.length;(*T).ch=(char*)malloc((*T).length*sizeof(char));//分配新串的长度if(!(*T).ch)exit(0);for(i=0;i

7、ub返回串S的第pos个字符起长度为len的子串。intSubString(HString*Sub,HStringS,intpos,intlen){inti;if(pos<1

8、

9、pos>S.length

10、

11、len<0

12、

13、len>S.length-pos+1)return0;if((*Sub).ch)free((*Sub).ch);//释放旧空间if(!len)//空子串{(*Sub).ch=NULL;(*Sub).length=0;}else{//完整子串(*Sub).ch=(char*)malloc(len*sizeof(ch

14、ar));if(!(*Sub).ch)exit(0);for(i=0;i<=len-1;i++)(*Sub).ch[i]=S.ch[pos-1+i];(*Sub).length=len;}return1;}//T为非空串。若主串S中第pos个字符之后存在与T相等

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。