欢迎来到天天文库
浏览记录
ID:30775036
大小:67.00 KB
页数:12页
时间:2019-01-03
《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;i6、剩下的长度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)〃从第s7、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.判断字符串是否为空
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.判断字符串是否为空
此文档下载收益归作者所有