欢迎来到天天文库
浏览记录
ID:56773399
大小:30.00 KB
页数:7页
时间:2020-07-08
《数据结构-顺序串基本操作实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据结构实验报告课程数据结构_实验名称顺序串基本操作院系电信学院专业班级计科10-4姓名学号一、实验目的1)熟悉串的定义和串的基本操作。2)掌握顺序串的基本运算。3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。二、实验环境装有VisualC++6.0的计算机。本次实验共计2学时。三、实验内容编写一个程序,实现顺序串的各种基本运算,并在此基础上设计一个主程序。具体如下:编写串的基本操作函数顺序串类型定义如下所示:typedefstruct{charch[MAX];intlength;}SeqString;(1)串赋值Assign(s,t)将一个字符串常量赋给串s,即生成一个其值等于t
2、的串s(2)串复制StrCopy(s,t)将串t赋给串s(3)计算串长度StrLength(s)返回串s中字符个数(4)判断串相等StrEqual(s,t)若两个串s与t相等则返回1;否则返回0。(5)串连接Concat(s,t)返回由两个串s和t连接在一起形成的新串。(6)求子串SubStr(s,i,j)返回串s中从第i(1≤i≤StrLength(s))个字符开始的、由连续j个字符组成的子串。(7)插入InsStr(s,i,t)将串t插入到串s的第i(1≤i≤StrLength(s)+1)个字符中,即将t的第一个字符作为s的第i个字符,并返回产生的新串(8)串删除DelStr(s,i,j)
3、从串s中删去从第i(1≤i≤StrLength(s))个字符开始的长度为j的子串,并返回产生新串。(9)串替换RepStr(s,s1,s2)在串s中,将所有出现的子串s1均替换成s2。(10)输出串DispStr(s)输出串s的所有元素值(11)判断串是否为空IsEmpty(s)为空返回1,不为空返回0编写主函数调用上述函数实现下列操作:(1)建立串s=“abcdefghijklmn”,串s1=“xyz”,串t=“hijk”(2)复制串t到t1,并输出t1的长度(3)在串s的第9个字符位置插入串s1而产生串s2,并输出s2(4)删除s第2个字符开始的5个字符而产生串s3,并输出s3(5)将串s
4、第2个字符开始的3个字符替换成串s1产生串s4,输出s4(6)提取串s的第2个字符开始的10个字符而产生串s5,并输出s5(7)将串s1和串t连接起来而产生串s4,并输出s4(8)比较串s1和s5是否相等,输出结果(9)判断s3是否为空四、源程序代码#include#defineMAX100typedefstruct{charch[MAX];intlength;}SqString;voidStrAssign(SqString&s,chart[])//串赋值{inti;for(i=0;t[i]!=' ';i++)s.ch[i]=t[i];s.length=i;}voidStr
5、Copy(SqString&s,SqStringt)//串复制{inti;for(i=0;i6、th);}SqStringConcat(SqStrings,SqStringt)//串连接{SqStringstr;inti;str.length=s.length+t.length;for(i=0;i7、8、i>s.length9、10、j<011、12、i+j-1>s.l13、ength)returnstr;for(k=i-1;k14、15、i>s1.length+1)returnstr;for(j=
6、th);}SqStringConcat(SqStrings,SqStringt)//串连接{SqStringstr;inti;str.length=s.length+t.length;for(i=0;i7、8、i>s.length9、10、j<011、12、i+j-1>s.l13、ength)returnstr;for(k=i-1;k14、15、i>s1.length+1)returnstr;for(j=
7、
8、i>s.length
9、
10、j<0
11、
12、i+j-1>s.l
13、ength)returnstr;for(k=i-1;k
14、
15、i>s1.length+1)returnstr;for(j=
此文档下载收益归作者所有