欢迎来到天天文库
浏览记录
ID:34555327
大小:64.51 KB
页数:7页
时间:2019-03-07
《数据结构顺序串基本操作实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构实验报告课程数据结构实验名称顺序串基本操作院系电信学院专业班级计科10-4姓名学号一、实验目的1)熟悉串的定义和串的基木操作。2)掌握顺序串的基本运算。3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。二、实验环境装有VisualC++6.0的计算机。本次实验共计2学吋。三、实验内容编写一个程序,实现顺序串的各种基本运算,并在此基础上设计一个主程序。具体如下:编写串的基本操作函数顺序串类型定义如下所示:typedefstruct{charch[MAX];intlength;}SeqString;(1)串赋值Assign(
2、s,t)将一个字符串常量赋给串s,即生成一个其值等于t的串s(2)串复制StrCopy(s,t)将串t赋给串s(1)计算串长度StrLength(s)返冋串S中字符个数(2)判断串相等StrEqual(s,t)若两个串s与t相等则返回1;否则返回0。(3)串连接Concat(s,t)返冋由两个串s和t连接在一起形成的新串。(4)求子串SubStr(s,i,j)返冋串s中从笫i(l^i^StrLength(s))个字符开始的、由连续j个字符组成的子串。(5)插入InsStr(s,i,t)将串t插入到串s的第i(lWiWStrLength(s
3、)+l)个字符中,即将t的第一个字符作为s的笫i个字符,并返回产生的新串(6)串删除DelStr(s,i,j)从串s中删去从第i(l
4、串t到tl,并输出tl的长度(3)在串s的第9个字符位置插入串si而产生串s2,并输出s2(4)删除s第2个字符开始的5个字符而产生串s3,并输出S3(5)将串s第2个字符开始的3个字符替换成串si产生串s4,输出s4(6)提取串s的第2个字符开始的10个字符而产生串s5,并输出s5(7)将串si和串t连接起来而产生串s4,并输出s4(8)比较串si和s5是否相等,输出结果(9)判断s3是否为空四'源程序代码#include#defineMAX100typedefstructcharch[MAX];intlength;}
5、SqString;voidStrAssign(SqString&s,chart[J)〃串赋值{inti;for(i=0;t[i]!=, ,;i++)s.ch[i]=t[i];s」ength=i;}voidStrCopy(SqString&s,SqStringt)〃串复制{inti;fbr(i=O;i6、same=0;}else{for(i=0;i7、ngth;i++)str.ch[s.length+i]=t.ch[i];returnstr;SqStringSubStr(SqStrings,inti,intj)//求子串{SqStringstr;intk;str.length=O;if(i<=O8、9、i>s.length10、11、j12、13、i+j-1>s.length)returnstr;for(k=i-1;k14、trings2){intj;SqStringstr;str.length=O;if(i<=O15、16、i>sl.length+l)returnstr;for(j=0;j
6、same=0;}else{for(i=0;i7、ngth;i++)str.ch[s.length+i]=t.ch[i];returnstr;SqStringSubStr(SqStrings,inti,intj)//求子串{SqStringstr;intk;str.length=O;if(i<=O8、9、i>s.length10、11、j12、13、i+j-1>s.length)returnstr;for(k=i-1;k14、trings2){intj;SqStringstr;str.length=O;if(i<=O15、16、i>sl.length+l)returnstr;for(j=0;j
7、ngth;i++)str.ch[s.length+i]=t.ch[i];returnstr;SqStringSubStr(SqStrings,inti,intj)//求子串{SqStringstr;intk;str.length=O;if(i<=O
8、
9、i>s.length
10、
11、j12、13、i+j-1>s.length)returnstr;for(k=i-1;k14、trings2){intj;SqStringstr;str.length=O;if(i<=O15、16、i>sl.length+l)returnstr;for(j=0;j
12、
13、i+j-1>s.length)returnstr;for(k=i-1;k
14、trings2){intj;SqStringstr;str.length=O;if(i<=O
15、
16、i>sl.length+l)returnstr;for(j=0;j
此文档下载收益归作者所有