- 2
- 0
- 约2.14万字
- 约 26页
- 2019-04-12 发布于安徽
- 举报
本周的实验主要做快速排序,自己随机生成10000个数据,用快速排序算法,输出排序完成所需时间,再用其他排序方法做比较,至少完成两个算法的效率比较
数据结构课程设计报告
—几种排序算法的演示
时间:2010-1-14
一 需求分析
运行环境
Microsoft Visual Studio 2005
程序所实现的功能
对直接插入排序、折半插入排序、冒泡排序、简单选择排序、快速排序、堆排序、归并排序算法的演示,并且输出每一趟的排序情况。
程序的输入(包含输入的数据格式和说明)
1排序种类三输入
2排序数的个数的输入
3所需排序的所有数的输入
程序的输出(程序输出的形式)
1主菜单的输出
2每一趟排序的输出,即排序过程的输出
二 设计说明
算法设计思想
1交换排序(冒泡排序、快速排序)
交换排序的基本思想是:对排序表中的数据元素按关键字进行两两比较,如果发生逆序(即排列顺序与排序后的次序正好相反),则两者交换位置,直到所有数据元素都排好序为止。
2插入排序(直接插入排序、折半插入排序)
插入排序的基本思想是:每一次设法把一个数据元素插入到已经排序的部分序列的合适位置,使得插入后的序列仍然是有序的。开始时建立一个初始的有序序列,它只包含一个数据元素。然后,从这个初始序列出发不断插入数据元素,直到最后一个数据元素插到有序序列后,整个排序工作就完成了。
3选择排序(简单选择排序、堆排序)
选择排序的基本思想是:第一趟在有n个数据元素的排序表中选出关键字最小的数据元素,然后在剩下的n-1个数据元素中再选出关键字最小(整个数据表中次小)的数据元素,依次重复,每一趟(例如第i趟,i=1,…,n-1)总是在当前剩下的n-i+1个待排序数据元素中选出关键字最小的数据元素,作为有序数据元素序列的第i个数据元素。等到第n-1趟选择结束,待排序数据元素仅剩下一个时就不用再选了,按选出的先后次序所得到的数据元素序列即为有序序列,排序即告完成。
4归并排序(两路归并排序)
两路归并排序的基本思想是:假设初始排序表有n个数据元素,首先把它看成是长度为1的首尾相接的n个有序子表(以后称它们为归并项),先做两两归并,得n/2上取整个长度为2的归并项(如果n为奇数,则最后一个归并项的长度为1);再做两两归并,……,如此重复,最后得到一个长度为n的有序序列。
程序的主要流程图
退出系统输出排序结果开始直插折半冒泡选择快排堆排归并选择排序方法进入主菜单
退出系统
输出排序结果
开始
直插
折半
冒泡
选择
快排
堆排
归并
选择排序方法
进入主菜单
程序的主要模块(要求对主要流程图中出现的模块进行说明)
程序的主要模块主要分为主菜单模块和排序算法演示模块。
1主菜单
主要功能:程序运行时,可使运行者根据提醒输入相关操作,从而进入不同的排序方法或者退出。
2排序方法及输出
根据运行者对排序的不同选择,进入排序过程
a.直接插入排序:根据直接排序的算法,输出排序过程
b.折半插入排序:根据折半插入的算法,输出排序过程
c.冒泡排序:根据冒泡排序算法,输出排序过程
d.简单选择排序:根据简单选择排序的算法,输出排序过程
e.快速排序:根据快速排序的算法,输出排序过程
f.堆排序:根据堆排序的算法,输出排序过程
g.归并排序:根据归并排序的算法,输出排序过程
程序的主要函数及其伪代码说明
1模板类
主要说明程序中用到的类的定义
templateclass typeclass sortlist
{
private:
int currentsize;//数据表中数据元素的个数
public:
type *arr;//存储数据元素的向量(排序表)
sortlist():currentsize(0){arr=new type[maxsize];}//构造函数
sortlist(int n){arr=new type[maxsize];currentsize=n;}
void insert(int i,type x){arr[i]=x;}
~sortlist(){delete []arr;}//析构函数
void swap(type x,type y)//数据元素x和y交换位置
{type temp=x;x=y;y=temp;}
您可能关注的文档
最近下载
- 《工业控制系统简介》课件.ppt VIP
- 村委员竞选演讲稿汇总7篇.docx VIP
- 客户服务管理.ppt VIP
- 给排水国标图集-04S520:埋地塑料排水管道施工.pdf VIP
- 小学生主题班会通用版《珍爱生命,远离毒品》课件(共24张PPT+视频).pptx VIP
- 聚集性事件、药品群体不良事件调查处置标准操作规程.docx VIP
- 团圆绘本教学省公开课一等奖全国示范课微课金奖PPT课件.pptx VIP
- 2026年度江苏旅游职业学院单招《数学》综合提升测试卷及答案详解(典优).docx VIP
- 2025至2030中国烟草包装行业发展研究与产业战略规划分析评估报告.docx VIP
- 青岛天信BPJ-500-1140矿用隔爆兼本质安全变频器说明书.pdf VIP
原创力文档

文档评论(0)