第一范文网 - 专业文章范例文档资料分享平台

数据结构课程设计 - 排序算法比较[完整版]

来源:用户分享 时间:2025/10/7 6:11:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数据结构课程设计——排序算法比较

课程设计报告

数据结构课程设计题目:各种排序

学生姓名:高扬

专 业:网络工程 班 级:10211302 学 号:1021130221 指导教师:姜林 王志波

2012年6 月27 第 1 页 共 15 页

数据结构课程设计——排序算法比较

目 录

排序算法比较

一、程序要求分析

二、程序主要功能

三、程序运行平台

四、程序数据结构

五、算法及时间复杂度

六、程序源代码

七、自我总结

第 2 页 共 15 页

数据结构课程设计——排序算法比较

各 种 排 序

一、需求分析

任务:用程序实现插入法排序、起泡法、选择法、快速法、合并法排序;

输入的数据形式为任何一个正整数,大小不限。 输出的形式:数字大小逐个递增的数列。

要求给出多组不同元素个数的输入数据,并用列表打印出每种排序下的各趟排序结果。每个排序法结束时应打印出其元素比较的次数和交换的次数。此程序需将结果用列表打印,一定要将其打印结果排列好。

二、程序的主要功能

1.用户输入任意个数,产生相应数量的随机数

2.用户可以自己选择排序方式(直接插入排序,冒泡排序、快速排序、选择排序、二路归并排序五种排序方法)的一种

3.程序给出原始数据、排序后从小到大的数据,并给出排序所用的时间,比较的总次数和交换的总次数。

三、程序运行平台

Visual C++ 6.0版本

四、数据结构

1.类: NuovSort{ public: void Myface(); void choose(); void insertsort(int R[],int n); //直接插入排序法 void Bubblesort(int R[],int n); //冒泡排序算法实现 void quicksort(int R[],int left,int right); //快速排序算法实现 void selectsort(int R[],int n); //直接选择排序算法实现

第 3 页 共 15 页

数据结构课程设计——排序算法比较

void merge(int R[],int A[],int s,int m,int t);//二路归并排序算法实现 void mergepass(int R[],int A[],int n,int c); void mergesort(int R[],int n); };

2.主界面:

Myface() //界面 { cout<<\ -->各种排序算法实现<--\

cout<<\ cout<<\ 1.直接插入排序 #\ cout<<\ 2.冒泡排序 #\ cout<<\ 3.快速排序 #\ cout<<\ 4.直接选择排序 #\ cout<<\ 5.二路归并排序 #\ cout<<\ cout<<\}

3.选择界面: choose() { int i,x,n,s,t; time_t t1,t2; double tt1,tt2,tt3,tt4,tt5; cout<<\欢迎您使用 高扬 的排序程序\ cout<<\请问,需要几个被排序数字?\ do{ cout<<\请输入个数(范围在 1~500 之间): \ cin>>n; } while((n<1)||(n>500)); int left=0,right=n-1; for(i=0;i

R[i]=rand()?8+1; //产生随机数

cout<<\被排序的数字随机产生如下:\ for(i=0;i

第 4 页 共 15 页

数据结构课程设计 - 排序算法比较[完整版].doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c37ukf0ck6l1od1e2lz0r_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top