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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验三 串基本操作的实现Word下载.docx

1、T,则返回值=0;若S=T,则返回值0;若ST,则返回值0。StrLength (S)返回串 S 序列中的字符个数,即串的长度。ClearString (&将 S 清为空串。Concat (&T, S1, S2) 初始条件:串 S1 和 S2 存在。 操作结果:用 T 返回由 S1 和 S2 联接而成的新串。 SubString (&Sub, S, pos, len)串S存在,1posStrLength(S)且0lenStrLength(S)-pos+1。用 Sub 返回串S的第 pos 个字符起长度为 len 的子串。 Index (S, T, pos)串S和T存在,T 是非空串,1posS

2、trLength(S)。若主串S中存在和串T值相同的子串,则返回它在主串S中第pos个字 符之后第一次出现的位置;否则函数值为0。Replace (&S, T, V)串 S,T 和 V 存在,T 是非空串。用V替换主串S中出现的所有与T相等的不重叠的子串。 StrInsert (&S, pos, T)串 S 和 T 存在,1posStrLength(S)1。在串 S 的第 pos 个字符之前插入串 T。 StrDelete (&S, pos, len)串 S 存在,1posStrLength(S)-len+1。从串 S 中删除第 pos 个字符起长度为 len 的子串。实验源代码:#inclu

3、destdio.hstdlib.hstring.husing namespace std;#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define TRUE 1#define FALSE 0#define OK 1#define MAXSTRLEN 255 /用户可在内定义最大串长typedef unsigned char SStringMAXSTRLEN+1; /0号单元存放串长度typedef int Status; /Status 是函数的类型,其值是函数结果的代码typedef int ElemType;/chars

4、是串常量,赋于串T的值为chars;void StrAssign(SString &T, char chars255) int length,i=0; length=strlen(chars); if(length255) cout字符串长度超出范围,将截取前个字符;endl; for(i=0;iMAXSTRLEN;i+) Ti+1=charsi; T0=255; elselength; T0=length;/串S 存在,由串S 复制得串T;void StrCopy(SString &T, SString S) int i=0; while(i=S0) Ti=Si; i+;/销毁串void D

5、estroyString(SString & S0=0; coutT,则返回值/若S=T,则返回值=0;Status StrCompare(SString S,SString T) int i,k=0; if(S0T0) return 1; else if(S0MAXSTRLEN)两串联接后超出长度范围,将进行截断;=S10; Ti=S1i; if(i while(i i+;j+; Ti=S2j; T0=MAXSTRLEN; for(j=1;j=1&pos=0&len=StrLength(S)-pos+1) Sub0=len; for(i=pos;=pos+len-1; Subj=Si; j+

6、; cout输入len的值不合法; else 输入pos的值不合法;/串S和T存在,T 是非空串,posStrLength(S)/若主串S中存在和串T值相同的子串,则返回它在/主串S中第pos个字符之后第一次出现的位置;否则函数值为。Status Index(SString S,SString T, int pos) int n,m,i; SString Sub;0) n=StrLength(S); m=StrLength(T); i=pos; while(i插入后会超出串长度范围,将进行截取; m=MAXSTRLEN-(n+pos-1); j=pos; for(i=MAXSTRLEN;iMA

7、XSTRLEN-m;i-) Si=Sj; for(i=pos;=n; Si=Tj; S0=MAXSTRLEN; j=u; for(i=u+n;=n+pos; j-;n+pos; S0=u+n;void StrDelete(SString &S,int pos,int len)/串S 存在,posStrLength(S)-len+1/从串S 中删除第pos 个字符起长度为len 的子串 int n,i,j; n=StrLength(S); if(posStrLength(S)-len+1)输入的pos值不合法; j=pos+len; S0=n-len; Sn-len+1=void shuru(S

8、String &T) char chars256;请输入你要的字符数据: gets(chars); StrAssign(T,chars);void shuchu(SString T) for(int i=0;T0;Ti+1;int main() int n,pos,len; SString T2,T1,S,S1,S2,Sub,V; shuru(S1);串S1为: shuchu(S1); shuru(T1);请输入pos的大小: cinpos; n=Index(S1,T1,pos); if(n=0)主串中不存在这样的子串;第一个这样的子串在主串中第个字符后出现的位置为:n getchar(); shuru(T2); shuru(V); Replace(S1,T2,V);取代后的串S为: shuru(S2); Concat (S,S1,S2);联接后的新串S为: shuchu(S);串S的长度为:StrLength(S) DestroyString(S1); DestroyString(S2);【测试数据及实验结果】 测试数据及实验结果如下:【实验小结】定长顺序串的存储结构与c语言中用字符指针存储字符串相比有何优点?答:优点是定长顺序串的存储结构类似于数组,调用起来比较方便快捷.【源代码说明】1 文件名:shiyan3.cpp

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

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