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

排序算法课程设计题1(2)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第 6 页

while(i<=n-2*h+1) {

Merge(r,r1,i,i+h-1,i+2*h-1); i+=2*h; }

if(i

Merge(r,r1,i,i+h-1,n); else

for(int k=i;k<=n;k++) r1[k]=r[k]; }

void MergeSort(int r[],int n) {

int *r1=new int[n+1]; int h=1; while(h<=n) {

MergePass(r,r1,n,h); h=2*h;

MergePass(r1,r,n,h); h=2*h; } }

//文件数据的产生和读写的头文件:file.h //随机产生待排数据的函数实现

void generate(int *array_to_sort, const int length); //数据写入文件的函数实现

bool write(int *array, int length, const char *file_name); //从文件读入数据的函数实现

bool read(int *array, int length, const char *file_name); //文件数据的产生和读写函数的实现的源文件:file.cpp #include \#include #include #include using namespace std;

//随机产生待排数据的函数实现

void generate(int *array_to_sort, const int length) {

for (int i = 1; i <=length; i++) {

array_to_sort[i] = rand(); } }

第 6 页 共 6 页

第 7 页

//数据写入文件的函数实现

bool write(int *array, int length, const char *file_name) {

ofstream out(file_name); if (!out) {

cerr << \ << file_name << \<< endl; return false; }

for (int i = 1; i <= length; i++) {

out << array[i] <<\; if(i==0) out<

out.close(); return true; }

//从文件读入数据的函数实现

bool read(int *array, int length, const char *file_name) {

ifstream in(file_name, ios::in); if (!in) {

cerr << \ << file_name << \ << endl; return false; }

for (int i = 1; i <= length; i++) in >> array[i]; in.close(); return true; }

菜单选择项函数的头文件:menu.h

#include #include #include \#include %using namespace std; int Menu();

void Sort(int *r,int n,int m); void Printm(int *r,int n);

菜单选择项函数的实现的源文件:menu.cpp #include using namespace std;

第 7 页 共 7 页

第 8 页

#include \ int Menu() {

int n;

cout<<\选择希尔排序算法\<>n; return n; }

void Sort(int *r,int n,int m) {

switch(m) {

case 1:ShellSort(r,n);break; case 2:QuickSort(r,1,n);break; case 3:HeapSort(r,n);break; case 4:MergeSort(r,n);break;

default:cout<<\输入的选择项错误\;break; } }

void Printm(int *r,int n) {

for(int i=1;i<=n;i++) {cout<

//主函数的实现的源文件:main.cpp #include #include #include #include \#include \ #include%using namespace std; int main() {

第 8 页 共 8 页

第 9 页

int N=10000;

cout<<\随机产生个数据存入磁盘文件中\<

write(r, N, \);

cout<<\数据已存到磁盘文件中\<

cout<<\请输入你想读出的数据个数\<>n;

int *p=new int[100001]; read(p, n, \); cout<<\读出的数据为\<

cout<<\排序后的结果为:\<

cout<<\并将排好的数据存入原文件中:\<

六.程序测试及运行结果:

第 9 页 共 9 页

第 10 页

七.我的收获

通过这次实验,我知道了实际上解决一个问题的办法有很多种,应该发散自己的思维,尝试着寻求更多的解决的办法,在已有的基础上找到使解决问题的办法更有效,具有更高效率,不应该只满足于单纯的解决问题,还要考虑该办法的有效性。特别的一点是程序设计是很有趣的。

第 10 页 共 10 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库排序算法课程设计题1(2)在线全文阅读。

排序算法课程设计题1(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/466077.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: