数据结构排序综合设计报告(含代码)

更新时间:2023-10-07 21:07:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据结构》

课 程 设 计 报 告

题目:排序综合 专业:计算机科学与技术 班级:嵌入式1102班 组员:11160501 丁 雷

11160522 高明尧

1

目录

1需求分析 .................................................... 3 2概要设计 .................................................... 3 3 详细设计 ................................................... 5 4调试结果 .................................................... 8 5课程设计总结 ............................................... 11 参考书目 .................................................... 11

2

1需求分析

1.1 任务与分析 任务:

利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

要求:

1) 至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起

泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。

2) 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中

两种较快的方法。

分析:

本系统实现了几种常用的排序方法,包括:插入排序、起泡排序、快速排序(递归、非递归)、堆排序。

1.2 功能模块的划分 1.2.1 输入模块

利用随机函数产生N个随机整数(20000以上),个数由用户自己输入。 1.2.2输出模块

输出排序前或排序后的数据元素到屏幕显示,并且输出按照选择的算法排序后的数据元素到文件中保存。 1.2.3输出结论

比较不同排序时间长短,输出两种最快的排序方法。 1.2.4排序模块 插入排序

思路:设有一组关键字{K1,K2,…….,Kn},排序开始变认为K1是一个有序的序列,让K2插入到表长为1的有序序列,使之成为一个表长为2的有序序列, 让K3插入到表长为2的有序序列,使之成为一个表长为3的有序序列,依次类推,最后让Kn插入上述表长为n-1的有序序列,得到一个表长为n的有序序列. 冒泡排序

如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较 简单选择排序

通过n-I次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交

换之

2概要设计

3

2.1程序结构框图

开始 产生随机函数 综合排序系统 插入排序 气泡排序 简单选择排序 寻找最快排序 2.2程序流程图

选择选取数 开始

产生随机函数 插入排序 起泡排序 简单选择排序 寻找最快排序 退出 输出 4

2.3头文件 #include #include #include #include 2.5各种操作函数: (1)创建一个数组函数: (2)输出数组函数: ( 3 ) 简单选择排序 (4)插入排序函数: (5)起泡排序函数:

(6)时间函数:start = clock();end = clock(); 2.6主函数 Void main() {

接受命令(选择要执行的操作); 处理命令; 输出结果; }

3 详细设计

#include #include #include #define N 30001 void main() {

int i,j,n,k;

int n1,t;

int a[N],b[N],c[3],d[3]; clock_t start,finish; int time1,time2,time3;

5

本文来源:https://www.bwwdw.com/article/6g3d.html

Top