选择法与插入法排序比较C++报告书
更新时间:2024-01-02 12:00:01 阅读量: 教育文库 文档下载
- c语言选择法排序法推荐度:
- 相关推荐
C河北联合大学 2011-2012第2学期
《软件设计基础-C++》
课程设计报告
设计名称: 选择法与插入法排序比较 姓 名: 学 号: 专业班级: 学 院:
设计时间: 2012年5月20日—2012年6月15日 设计地点: 学校机房
指导教师评语: 成绩: 指导教师签字: 年 月 日 《软件设计基础-C++》课程设计报告 第 2 页,共 11 页
目 录
1.课程设计目的 ·············································································· 3 2.课程设计任务与要求 ····································································· 3 3.课程设计说明书 ··········································································· 4 4.课程设计成果 ·············································································· 5 5.程序调试过程 ············································································ 10 6.设计问题的不足和改进方案 ··························································· 11 7.课程设计心得 ············································································ 12 8.参考文献 ·················································································· 13
《软件设计基础-C++》课程设计报告 第 3 页,共 11 页
1.课程设计目的 (1)培养学生综合利用C++语言进行程序设计的能力,掌握排序算法,使学生能够解决信息管理系统中的一些问题。 (2)提高学生建立程序文档、归纳总结的能力。 2.课程设计任务与要求: 要求: 本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。 要求: 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框架 3、编程简练,程序功能齐全,能正确运行 4、说明书、流程图要清楚 5、课题完成后必须按要求提交课程设计报告 任务: (1)要求用C++模块化设计的思想来完成程序的设计; (2)要求各个功能分别使用函数来完成,各个函数分放在不同文件中。 (3)源代码程序要求必要的注释。 创新: 在基本要求达到后,可以进行创新设计,如讨论各种排序算法的优劣。 《软件设计基础-C++》课程设计报告 第 4 页,共 11 页
3.课程设计说明书 ⑴概要设计 模块说明: 在我设计的程序中一共包括了俩个模块,分别是:选择排序模块、插入排序模块。这三个模块中输入、排序、输出都是独立分开,俩模块是通过switch语句联系起来的,同时,为了实现多次使用这俩个模块,就在switch语句外加了while循环。 ⑵详细设计 总体流程图: Main While Switch 继续循环 Case1 Case2 Default Input Input Selectsort Insertsort Output Output If(flag=’n’||flag==’N’) 1 0 退出程序循环 《软件设计基础-C++》课程设计报告 第 5 页,共 11 页
4.课程设计成果 程序源代码: 主函数: #include
《软件设计基础-C++》课程设计报告 第 6 页,共 11 页
} 调用函数: #include
{ int i; int j; int temp = 0; int flag = 0; //排序循环 for(i = 0; i < n-1; i++) { temp = data[i]; flag = i; for(j = i+1; j < n; j++) { if(data[j] > temp) { temp = data[j];//目前最大数 flag = j; // 目前最大的元素的下标· } } if(flag != i) // 如果最大的元素不是进行筛选的数据中的第一个,则将最大数据与第一个筛选数据交换 { data[flag] = data[i]; data[i] = temp; count++; } } } //插入法排序 void InsertSort(int *data,int n,int &count) { int i,j,temp; bool flag=false;//检测是否进行了排序 for(i=1;i
} } count++;//排序次数 运行结果: 《软件设计基础-C++》课程设计报告 第 9 页,共 11 页
《软件设计基础-C++》课程设计报告 第 10 页,共 11 页 5.程序调试过程 程序调试步骤: 1. 认真分析任务书,明确程序的功能,分析程序用到的函数,有一个基本的思路。 2. 查找资料(如:去图书馆,上网),开始准备编写程序。 3. 开始编写程序,运行程序,修改程序运行中遇到的错误。 4. 调试程序,使其顺利运行。 遇到的问题: 1.主函数调用其他函数出现问题,对其进行修改。 2.循环大括号遗漏,加上大括号。 3.标点符合格式有问题,改输入法,重新输入标点符号。 6.设计问题的不足和改进方案 1.不能对数组进行判断哪一种排序方法最适合,浪费资源,应该加一种功能,就是自动选取最佳排序方法,对所给数组排序。 2.对排序数组里的数字个数有限制,应该有一种功能可以对任意个数进行排序。 《软件设计基础-C++》课程设计报告 第 11 页,共 11 页
7.课程设计心得 通过对c++程序的设计,使我对c++语言有了更深的认识和了解,在我看来要想学好它重在实践。 从一开始选定题目,再向学姐请教,然后去图书馆寻找资料,从一开始的茫然到后来的稍有头绪。开始自己编写程序,修改程序,请学姐帮忙指点。就这样,一遍一遍的重复,程序终于写好了。在这个过程中我对程序的编写有了基本的来了解,同时也学会了分析问题,将复杂的问题细化分类来处理,还有就是如何寻找突破口解决问题。还学会了在编写程序的同时做好记录文档的工作,对以后程序的调试,复检做准备。 在这次程序设计过程中,我学会了很多东西,比如:做任何事一定要细心,就像编写程序一个标点错误,整个程序就运行不了;还有就是以后一定要多去图书馆,在里面我们可以学到许多课堂上学不到的东西。这些都会对我以后的学习有很大的帮助。 8.参考文献 [1] 温秀梅,等.Visual C++面向对象程序设计教程与实验.北京:清华大学出版社,2005. [2] 谭浩强.C++程序设计.北京:清华大学出版社,2004. [3] 刘瑞新.Visual C++面向对象程序设计教程.北京:机械工业出版社,2004. [4] 黄维德,等.C语言程序设计.北京:清华大学出版社,2003. [5] 郑阿奇.Visual C++实用教程.2版.北京:电子工业出版社,2003. [6] 郑莉,等.C++语言程序设计.北京:清华大学出版社,2000.
《软件设计基础-C++》课程设计报告 第 11 页,共 11 页
7.课程设计心得 通过对c++程序的设计,使我对c++语言有了更深的认识和了解,在我看来要想学好它重在实践。 从一开始选定题目,再向学姐请教,然后去图书馆寻找资料,从一开始的茫然到后来的稍有头绪。开始自己编写程序,修改程序,请学姐帮忙指点。就这样,一遍一遍的重复,程序终于写好了。在这个过程中我对程序的编写有了基本的来了解,同时也学会了分析问题,将复杂的问题细化分类来处理,还有就是如何寻找突破口解决问题。还学会了在编写程序的同时做好记录文档的工作,对以后程序的调试,复检做准备。 在这次程序设计过程中,我学会了很多东西,比如:做任何事一定要细心,就像编写程序一个标点错误,整个程序就运行不了;还有就是以后一定要多去图书馆,在里面我们可以学到许多课堂上学不到的东西。这些都会对我以后的学习有很大的帮助。 8.参考文献 [1] 温秀梅,等.Visual C++面向对象程序设计教程与实验.北京:清华大学出版社,2005. [2] 谭浩强.C++程序设计.北京:清华大学出版社,2004. [3] 刘瑞新.Visual C++面向对象程序设计教程.北京:机械工业出版社,2004. [4] 黄维德,等.C语言程序设计.北京:清华大学出版社,2003. [5] 郑阿奇.Visual C++实用教程.2版.北京:电子工业出版社,2003. [6] 郑莉,等.C++语言程序设计.北京:清华大学出版社,2000.
正在阅读:
选择法与插入法排序比较C++报告书01-02
黄山旅游全攻略03-29
东北大学19春学期《卫生事业管理学》在线作业3答案资料05-10
等离子清洗机介绍及应用原理07-23
寺庙教育工作心得体会03-31
儿科护理学(二)16.04自考真题09-12
向前奔跑吧作文450字07-11
“ⅩⅩⅩⅩ”课程教学大纲.doc05-01
护士执业-精讲模拟试卷一-专业实务(机构专用) 附答案06-05
激光扩散片超声波清洗机12-04
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 入法
- C++
- 报告书
- 排序
- 比较
- 选择
- 2018年北京市给排水中级职称考试复习知识点(含考试大纲)PDF版本
- 石嘴山市2010年国民经济和社会发展统计公报
- 高级英语下册课文讲解
- 2013年普通高等学校招生全国统一考试理科综合(陕西卷)
- 珠宝jewelcad设计期末试卷
- 中级职称个人工作总结
- 小学数学北师大版六年级上册《总复习》获奖教案公开课优质课教案观摩课讲课精品教案
- 物质的组成表示式说课稿
- 2001年中级会计职称考试《财务管理》真题-中大网校
- 小学一年级第一学期体育教案(20周)
- 幼儿园教师论文:论幼儿倾听技能的培养策略
- 生物化学第2版 Microsoft Word 文档
- 2013淘宝首页全屏轮播代码
- 关于确保实现首季“开门红”工作开展情况的报告0
- 湖北省2011年普通高校招生网上填报志愿草表(一) - 图文
- 十三五规划总体思路的解读1
- 最新PEP三年级英语上册第五单元测试题 - 图文
- 河南平顶山2019年中考重点考试试卷-化学
- 浅谈培养高素质教师队伍的策略
- 利用DHT11测温度湿度实验报告讲解