排序程序设计(3)

2020-04-14 05:02

5. 总结与展望

5.1 总结

本程序实现了对数据文件的排序功能,分别实现了按数值进行排序和按字符进行排序的功能,程序最后的运行结果,达到了题目所要求的通过人机对话实现选择程序是按数值进行排序还是按字符顺序进行排序。达到了课题的预期效果。

此次课程设计中,我学习了简单选择排序。它是最基本的排序方法之一,比之于其他的排序方法而言思路更清晰操作更简单。对于用线性顺序表结构实现简单选择排序的算法描述,数据结构书本算法10.4已经给出了,而用链式存储结构来实现的区别是循环方式的差别:顺序表用一个for循环实现从下标1到n的排序,链式表的实现是一个while循环从头结点开始直到最后一个结点。

5.2 展望

第一次做课程设计,因此感到期待而又非常紧张,一个星期,短暂而忙碌,但却又充实、兴奋。当我把程序写出来,并运行正确后,我有种说不出的喜悦,虽然还有许多不足,但我对未来一片憧憬。

这次选课题,我选到的是“数据排序“,开始的我是无从下手,从网上搜了一气后一无所获,一味地依赖网上现成地答案使我毫无进展。后来,在同组同学地影响下,我开始静下心来回忆学过的知识 。终于,经过反复调试后,我终于找到了思路,经过同组同学的帮助与网上资料,我逐渐将程序设计成型,虽然还有许多缺陷,比如,设计后还是不能人性化地满足要求。虽然与想象中的还有很大差距,但我看到了希望,并决心一直努力下去。

一个星期的程序设计虽然马上就要结束的,但是它带给我的将会影响我今后的学习。在这次程序设计中,我不仅提高了编程的能力,也增加了我对这门课程的兴趣,虽然一周的程序设计很忙,但过得的很充实、很有意义。但也有许多不足的地方,如界面设计的还不够完美、还有一些最基本的知识没有完全掌握等等。这为我以后的学习提出了要求。

通过此次课程设计,使我更加扎实的掌握了有关C++方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和对知识运用的不熟。在课程设计过程中,我不断发现错误,不断改正,不断领悟,不断获取,最后终于调试成功。这次课程设计终于顺利完成了,在设计中遇到了很多问题,通过查资料,终于游逆而解。课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,

8

给了我莫大的空间。同时,设计让我感触很深。通过这次课程设计,我掌握了if和for的循环语句。

我认为,在这学期的学习中,不仅培养了独立思考的能力,而且体现了合作的重要性。更重要的是,在课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,然后运用到生活中,最后才能真正为社会服务。在设计的过中 遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

9

参考文献

[1] 殷人昆. 数据结构——用面向对象方法与C++语言描述. 2版, 北京: 清华大

学出版社, 2009.

[2] 严蔚敏, 吴伟民. 数据结构. C语言版, 北京: 清华大学出版社, 1997. [3] 苏成, 姜薇, 苏仁科. C++程序设计教程. 1版, 北京: 清华大学出版社, 2013. [4] 谭浩强. C++程序设计(第二版). 北京: 清华大学出版社, 2012.

[5] 谭浩强. C++程序设计题解与上机指导(第二版). 北京: 清华大学出版社, 2012.

10

附录

源程序为:

#include #include struct string { char str[20]; struct string *next; };

struct digital { int dig; struct digital *next; };

void main() {

cout<<\通用排序 \\n\ int type,n,i,j,flag=1; while(flag) { cout<<\请选择排序类型:1.按数值大小2.按字符串大小 cin>>type; cout<<\共有多少个数据:\ cin>>n; if(type==1) //数值排序 { struct digital *head,*tail,*newnode; int tp; //输入数据 head = new digital; tail = head; for(i=0;i>tp; newnode->dig=tp; tail->next=newnode; tail=newnode; } tail->next=NULL; cout<<\数据输入完成. 开始排序...\\n\

11

\

//排序 struct digital *p; for(i=0;inext; if(p->dig > p->next->dig) { tp=p->dig; p->dig=p->next->dig; p->next->dig=tp; } } } //输出 cout<<\排序结果如下:\\n\ p=head->next; while(p!=NULL) { cout<<\ p=p->next; } } else { //字符串排序 struct string *head,*tail,*newnode; char str[20]; //输入数据 head = new string; tail = head; for(i=0;i>str; strcpy(newnode->str,str); tail->next=newnode; tail=newnode; } tail->next=NULL; cout<<\数据输入完成. 开始排序...\\n\ //排序

12


排序程序设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-2022年中国锅炉市场深度研究与发展前景预测报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: