串比较大小
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法》课程实验报告(5)
实验题目:采用顺序结构存储串,比较两串大小
姓名:*** 学号:14 班级:2013级
系名:专业:指导老师:
实验时间:2014.10.24 实验地点:
【实验概述】
1.实验目的及要求
1)熟悉串的定义和串的基本操作。
2)掌握顺序串的基本运算。
3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。
2.实验原理
原理:从两个字符串的第一个字符开始逐个进行比较(按字符的ASCII码大小比较),直到出现不同的字符或遇到'\0'为止。如果全部字符都相同,就认为两个字符串相等,返回0。若出现了不相同的字符,则以第一个不相同的字符的比较结果为准。若前者字符大于后者字符,则返回1,否则返回-1。
3.实验环境(使用的软件)
VC++6.0
【实验内容】
(1)采用顺序存储结构存储的串,编写一个程序,将两个字符串进行比较,若s>t时返回1,s=t时返回0,s (2)【算法源代码】 int comp(SString *s1,SString *s2) { int i=0,minlen; minlen=s1->len>s2->len?s1->len:s2->len; /*minlen存放s1与s2中的较短的字符串的长度*/ while(i<=minlen) { if(s1->data[i]==s2->data[i]) /*如果s1与s2的当前字符相等,则比较下一个*/ i++; else if(s1->data[i] retrun -1; else return 1; /*s1的当前值大于s2的当前值,返回1*/ } if(s1->len==s2->len) return 0; /*s1与s2所有字符均相等,且长度相等,则返回0*/ } 2.实验过程(实验步骤、记录、数据、分析) 该实验过程可分为确定思路、函数构建、编写代码、上机调试等步骤,都需要良好的课堂基础和简单明了的算法结构,在调试过程中,并没发现构建错误,但也没找到不能运行的原因。 3.结果与结论(实验结果截图、结果分析) 【小结】(是否达到实验目的与要求、结果性能如何、是否有需要改进的地方)本次实验并没能达到预期目标,版本出现兼容性问题,需要改进下实验环境的操作步骤,了解更多的操作方法,为此自己需要更多的努力。 【实验评分】(共20分) 课堂表现(2分)实验结果(10分)报告书写(8分) 成绩: 指导老师签名:日期: