ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:235.42KB ,
资源ID:17918209      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17918209.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(串的基本操作及其应用Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

串的基本操作及其应用Word格式.docx

1、0, 若st,则返回值0. (流程图)Status StrCompare(HString S,HString T)/6.串替换:在主串s中用子串v替换所有的子串tStatus StrReplace(HString &S,HString V,HString T)/7.串插入:在主串s中的给定位置pos插入子串tStatus StrInsert(HString &S,int pos,HString T)/8.取子串: 将串s中从起始位置pos开始长度len的字符串放入另一个串tStatus SubString(HString &S,int pos,int len,HString &T)/9.串删除

2、: 删除串s中的子串t。Status StrDelete(HString &/10.求子串位置:从主串s中取出从第i个位置开始、长度和串t相同的子串,和t进行比较,若相等,则t在s中的位置值为iStatus StrIndex(HString &S,int i,HString T)/(2)串应用:设有串s,求出它的所有子串,并输出。Status SubString_All(HString S)3实验要求(1)上机前交实验源程序(纸质版),由学习委员统一收好交老师(附上不交同学名单)。(2)用一切你能想到的办法解决遇到的问题,培养解决问题的能力。(3)实验课上进行答辩。(4)实验报告当场交。报告内

3、容包括 :实验目的、实验内容、实验代码、实验运行结果以及实验体会供五部分。串的堆分配存储typedef struct char *ch; /若是非空串,则按串长分配储存区,否则ch为NULL int length; /串长度HString;23主要算法3.1 顺序存储结构(1)结构定义:#includestdlib.hstring.h#define MAX 255typedef char sstringMAX+1;int strlength(sstring s);/判断串长int strempty(sstring s); /判断空串int strassign(sstring &t,char*

4、s);/串赋值int concat(sstring &t,sstring s1,sstring s2); /串连接int strcompare(sstring s,sstring t);/串的比较void strprint(sstring s);/输出int strinsert(sstring s,int pos,sstring t);/串插入int strdelete(sstring s,int pos,int len);/删除字串int replace(sstring s,sstring t,sstring v);/串的替换int substring(sstring &sub,sstrin

5、g s,int pos,int len);/取子串int index(sstring s,sstring t,int pos);/字串定位 t,char* s)/初始条件:字符串chars已经存在 /操作结果:生成一个其值等于chars的串t int i,n; n=strlen(s); if(n=MAX) return 0; else t0=n; for(i=1;i=t0;i+)/依次给串赋值 ti=si-1; return 1; /求串长度int strlength(sstring s)/操作结果:返回串s的元素 return s0;/判断串是否空int strempty(sstring s

6、) return (s0=0);/返回值/串连接t,sstring s1,sstring s2)字符串s1和s2已经存在用T返回s1和s2连接成的新串。 int i; if(s10+s200,若是s=t,则返回值=0,若是s int i;=ti&=s0; if(si!=ti) return si-ti;/返回大于的值 return s0-t0;void strprint(sstring s)依次输出串中的元素 printf(%c,si);nn);int strinsert(sstring s,int pos,sstring t) 在串s第pos个字符之前插入串t,完成插入返回,否则返回 if(

7、poss0+1) if(s0+t0=pos;i-) si+t0=si; for(i=pos;pos+t0; si=ti-pos+1; s0+=t0; for(i=s0; si+MAX-s0=si; for(i=pos; i=s0 ; si=ti-pos+1; s0=MAX; int strdelete(sstring s,int pos,int len)在串s第pos个字符起删除长度为len的子串,删除成功返回,否则返回 if(poss0-len+1|len0) return 0; for(i=pos+len;i+)/依次删除串中指定的元素 si-len=si; s0-=len;int rep

8、lace(sstring s,sstring t,sstring v)串t被s替换,成功返回,否则返回 int i=1; int k; if(strempty(t)/判断串t为空 return 0; do i=index(s,t,i); printf(%d,i); if(i) strdelete(s,i,t0);/调用函数 k=strinsert(s,i,v); if(!k) return 0; i+=v0; while(i);sub,sstring s,int pos,int len)用sub返回串s的第pos个字符起长度为len的子串s0|lens0-pos+1)=len; subi=sp

9、os+i-1; sub0=len; /字串定位int index(sstring s,sstring t,int pos)返回子串T在主串S中第pos个字符之后的位置, /若不存在,则函数值为 int i,j; if(1=pos&pos=s0) i=pos; j=1; while(i=s0&jt0) return i-t0; return 0; else/主函数void main() int i,pos,len; char aMAX,bMAX,cMAX; sstring s,t,v,sews,sub; int k; /设置选项变量 while(1) /system(cls/清屏 printf(

10、nt*nt* 串的基本操作及其应用 *nt*nt * 1.串的赋值 2.串比较 *nt * 3.串的长度 4.取子串 * nt * 5.字符串替换 6.字符串插入 * nt * 7.字符串连接 8.销毁队列 * nt * 9.清空队列 0.退出 *nt*n请选择选项: /打印选项功能提示 scanf( %d,&k); if(k9)输入有误,请重新输入!n continue; switch(k) /分支结构来调用各功能子函数 case 1:字符串的赋值!请输入两个字符串!请输入第一个字符串; scanf(%s,a); strassign(s,a);请输第二个字符串;,b); strassign(

11、t,b);第一个字符串为: strprint( s);第二个字符串为: strprint( t); break;/退出并重新进入主菜单 case 2:串的比较! i=strcompare( s, t); if(i=0)两个字符串相等! else if(i0) 第一个字符串比第二个字符串小!第一个字符串比第二个字符串大! case 3:求串的长度! i=strlength(s);串的长度为: case 4:取子串!输入一个字符串:字符串为: strprint(s);请输入位置和长度!%d%dpos,&len); if(substring(sub,s,pos,len) printf(所取子串为:

12、strprint(sub);取子串失败! case 5:字符串替换!请输入主字符串:请输需要替换子串:请输入需要换成的子串:,c); strassign(v,c);主字符串为:需要替换子串为:需要换成的子串为: strprint( v); if( replace( s, t, v)替换后的新串为: strprint( s);替换失败n case 6:字符串插入n请输入主字符串n请输入要插入的字符串n请输入要插入的位置n scanf(pos);主字符串为:要插入的字符串为: strprint(t); if( strinsert( s, pos, t)插入后的新串为: strprint(s); case 7:字符串连接n i= concat(sews,s,t); if(i=0)连接失败n连接后的新串为: strprint( sews);/退出并重新进入主菜单; case 0:break;3.流程图1.串比较流程图2.串连接流程图4程序运行结果 (1) 实验内容(1)运行结果如下:5.心得体会。图的基本操作还有许多的不解之处,特别是最短距离

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1