欢迎来到天天文库
浏览记录
ID:23734789
大小:524.50 KB
页数:27页
时间:2018-11-10
《数据结构课程设计---排序综合》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、信息科学与技术学院《数据结构》课程设计报告题目名称:排序综合专业班级:1111学生姓名:1111学生学号:1111指导教师:111完成日期:1111目录1课程设计的目的41.1课程设计的目的41.2课程设计的题目41.3题目要求42概要设计52.1存储结构52.2基本操作53详细设计63.1流程图63.2源程序124测试224.1主菜单224.2插入排序功能224.3选择排序功能234.4冒泡排序功能234.5快速排序功能244.6合并排序功能244.75种排序方法比较255课程设计总结266参考书目:261课程设计的目的1.1课程设计的目的数据结构课程主要是研究非数值计
2、算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:n了解并掌握数据结构与算法的设计方法,掌握数组、链表、队列、堆栈、树等基本数据结构,具备初步的独立分析和设计能力;n初步掌握软件开发过
3、程的问题分析、系统设计、程序编码、测试等基本方法和技能;n提高综合运用所学的理论知识和方法独立分析和解决问题的能力;n训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。1.2课程设计的题目排序综合,利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。1.3题目要求要求:1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找
4、出其中两种较快的方法。3)如果采用4种或4种以上的方法者,可适当加分。2概要设计2.1存储结构定义的主要的数据:(1):classSortableSList{public:SortableSList();voidInsertSort();voidSelectSort();voidBubbleSort();voidQuickSort();voidMergeSort();voidQuickSort(intleft,intright);intQSort(intleft,intright);voidMerge(intleft,intright1,intright2);int*I,
5、*S,*Q,*B,*M;intn;};声明的类对象d;(2):inta[5],b[5],c[5],分别记录比较次数,交换次数,移动次数;(3):longinta1[5];//记录排序所用的时间(4)inta2[5];//记录排名2.2基本操作(1):voidSortableSList::BubbleSort();冒泡排序:(2):voidSortableSList::InsertSort();直接插入排序(3):voidSortableSList::MergeSort();合并排序(4):voidSortableSList::QuickSort();快速排序(5):voi
6、dSortableSList::SelectSort();简单选择排序3详细设计3.1流程图开始主流程图:定义对象,变量输入要比较的数的个数n进入菜单,输入功能选项序号p判断输入的pP==0P==1p==2p==3p==4p==5P==6插入排序合并排序选择排序时间效率比较排序快速排序冒泡排序执行完相应操作并输出结果后,按任意键返回菜单结束流程图-1子流程图:(1):插入排序:开始判断i0&&temp7、[j]=temp;结束流程图-2开始(2):选择排序:判断i0进入循环就将last置为0,last=0;是判断j
7、[j]=temp;结束流程图-2开始(2):选择排序:判断i0进入循环就将last置为0,last=0;是判断j
此文档下载收益归作者所有