c字符串的设计与实现

c字符串的设计与实现

ID:30775036

大小:67.00 KB

页数:12页

时间:2019-01-03

c字符串的设计与实现_第1页
c字符串的设计与实现_第2页
c字符串的设计与实现_第3页
c字符串的设计与实现_第4页
c字符串的设计与实现_第5页
资源描述:

《c字符串的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《算法与数据结构》实验报告实验题目:字符串的设计与实现任课教师:贺怀清学号:120341108姓名:郭兵权完成日期:2014.4・12、•需求和规格说明熟悉字符串类定义的优心;掌握基本操作的实现算法;设计字符串类并给11!英基本操作和运算符重载的算法实现。■设计2.1算法描述//String类头文件#ifndefSTRING_H#defineSTR1NG.H#include#includeclassString{public://private:char*str;〃字符串intsize;〃字符串长度St

2、ring(char*s)〃构造函数{intlen=0;while(*(s+len)!=O)len=len+l;size=len;//size=strlen(s);str=newchar[size+1];〃字符串的空间加上结束符、(Tassert(str!=,O');〃若str='O',程序退出strcpy(str,s);〃将s复制到str}StringO{size=O;str=newchar;str[O]=,O,;}voidclear(){size=0;str=newchar;str[O]='O,;//cout«H已释放空间…u«en

3、dl;}-StringO〃析构函数{clear();}voidcopy(Stringb,Stringa)〃将a复制到b{for(inti=O;ib.size)a.show();elseb.show();}

4、intlength()〃长度{returnsize;}voidshow()〃显示字符串{cout«str«endl;}Stringoperator=(String&s){s.copy(*this,s);return*this;}Stringoperator+(String&b)〃字符串拼接{strcat(str,b.str);〃新的字符串与原来的拼接size二size+b.size;return*this;}Stringinsert(char*s,intpos)〃在第pos个位置插入字符串s{Stringtemp;〃新的字符串temp.siz

5、e=strlen(s)+size;fbr(inti=0;i

6、剩下的长度Stringtmp;if(pos>=size)〃若pos大于本身字符串长returnNULL;〃返回空串if(n>left)〃若抽取的长度大于pos之后的长度n=left;〃最多只能抓取长度为left的字符delete[Jtmp.str;tmp.str二newchar[n+1];tmp.size二n;〃新的字符串长度为ninti=0;while(i<=tmp.size){tmp.str[i]=str[pos+i];i++;}tmp.strti+lJ-VO*;returntmp;}intfind(charc,intstart)〃从第s

7、tart位查找字符c;{inti=start;assert(iusingnamespacestd;#include#include"string.h"intmain(){cout«H请输入字符串:“vvcndl;char*sl=newchar;cin»sl;Stringstl(sl);cout«"你输入的字符串为:u«

8、endl;stl.show();cout«M请输入号码以实现对应功能:”vVendl;cout«Hl.求字符串长度;M«endl;cout«H2.判断字符串是否为空

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

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

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