题目2_排序综合_报告(8)

2019-03-22 16:28

西华大学理学院课程设计说明书

printf(\请选择你要使用的排序方法:\\n\

printf(\快速排序;\\n\\t\\t2.起泡排序;\\n \\t\\t3.直接插入排序;\\n \\t\\t4.归并排

序;\\n\ }

//快速选择排序

void quick_select_sort(int a[]) {

32

printf(\简单选择排序;\\n\\t\\t6.堆排序;\\n\\t\\t7.退出.\\n\printf(\

int i; Sqlist L;

//声明结构体; //初始化长度为0;

//快速选择排序结果保存文件;

//初始化快速选择排序结构链表的数据;

L.length = 0;

ofstream output(\快速排序.txt\for (i = 1; i < M + 1; i++) { }

start = clock(); Qsort(L, 1, M);

L.r[i].key = a[i]; L.length++;

//将待排序的数组数据存入排序算法的结构体中;

//计算排序算法结构的长度length;

//开始算法执行时间计时; //调用快速排序算法进行排序;

finish = clock(); //终止算法执行时间计时; printf(\显示快速排序结果:\\n\

for (i = 1; i < M + 1; i++) //每个元素占6个字符,以空格隔开,每100个元素换行保存排序 { }

for (i = 1; i < M + 1; i++) //每个元素占6个字符,以空格隔开,每10个元素换行输出排序

output << setw(6) << L.r[i].key << \if (i % 100 == 0)

printf(\

排序综合

{ }

printf(\快速排序完成,结果已保存!\\n\

cout << \快速排序消耗时间为: \秒\//输出

cout << setw(6) << L.r[i].key << \if (i % 10 == 0)

printf(\

快速算法耗时(s); }

//冒泡排序

void bubble_sort(int a[]) {

int i,j,t;

//定义整形数据t

//建立冒泡排序结果保存文件;

ofstream output(\冒泡排序.txt\start = clock();

//开始起泡排序算法执行时间计时

//执行起泡排序算法

for (j = 1; j < M + 1; j++) { }

for (int i = 1; ia[i + 1]) { }

t = a[i]; a[i] = a[i + 1]; a[i + 1] = t;

finish = clock(); //终止冒泡排序算法执行时间计时 printf(\显示冒泡排序结果:\\n\

for (i = 1; i < M + 1; i++)//每个元素占6个字符,以空格隔开,每100个元素换行保存排序后

{

output << setw(6) << a[i] << \

33

西华大学理学院课程设计说明书

}

if (i % 100 == 0)

printf(\

for (i = 1; i < M + 1; i++)//每个元素占6个字符,以空格隔开,每10个元素换行输出排序后数组;

{ }

printf(\冒泡排序完成,结果已保存!\\n\

cout << \冒泡排序消耗时间为: \秒\//输出

cout << setw(6) << a[i] << \if (i % 10 == 0)

printf(\

起泡排序算法耗时(s); }

//插入排序

void insert_sort(int a[]) {

34

//system(\

int i, j; Sqlist L;

//声明结构体;

//初始化结构体长度为0;

//建立直接插入排序结果保存文件; //初始化直接插入排序结构体中的数据;

L.length = 0;

ofstream output(\直接插入排序.txt\for (i = 1; i < M + 1; i++) { }

start = clock();

L.r[i].key = a[i]; L.length++;

//开始直接插入排序算法执行时间计时;

//执行插入排序算法;

for (i = 2; i <= L.length; ++i) {

if (L.r[i].key < L.r[i - 1].key)

排序综合

}

finish = clock(); //结束直接插入排序算法执行时间计时;

printf( \显示直接插入排序的结果:\\n\每个元素占6个字

{ }

L.r[0] = L.r[i]; L.r[i] = L.r[i - 1];

for (j = i - 2; L.r[0].key < L.r[j].key; --j)

L.r[j + 1] = L.r[j];

L.r[j + 1] = L.r[0];

符,以空格隔开,每100个元素换行保存排序后数组;

{ }

output << setw(6) << L.r[i].key << \if (i % 100 == 0)

printf(\

for (i = 1; i < M + 1; i++)//每个元素占6个字符,以空格隔开,每10个元素换行输出排序后数组;

{ }

printf(\直接插入排序完成,结果已保存!\\n\

cout << \直接插入排序消耗时间为 \秒\

//

cout << setw(6) << L.r[i].key << \if (i % 10 == 0)

printf(\

输出直接排序算法耗时(s); }

//归并排序

void merge_sort(int a[]) {

35

//system(\

西华大学理学院课程设计说明书

int i; Sqlist L;

//声明结构体; //初始化结构体长度;

//建立归并排序算法结果保存文件;

//初始化排序结构体中的数据;

L.length = 0;

ofstream output(\归并排序.txt\for (i = 1; i < M + 1; i++) { }

start = clock();

L.r[i].key = a[i]; L.length++;

//开始归并排序算法执行时间计时;

//调用归并排序算法;

MSort(L.r, L.r, 1, L.length);

finish = clock(); //结束归并排序算法执行时间计时; printf(\显示归并排序结果:\\n\

for (i = 1; i < M + 1; i++) //每个元素占6个字符,以空格隔开,每100个元素换行保存排序

后数组;

{ }

for (i = 1; i < M + 1; i++) //每个元素占6个字符,以空格隔开,每10个元素换行输出排序

output << setw(6) << L.r[i].key << \if (i % 100 == 0)

printf(\

后数组;

{ }

printf(\归并排序完成,结果已保存!\\n\

cout << \归并排序消耗时间为: \秒\//输出

cout << setw(6) << L.r[i].key << \if (i % 10 == 0)

printf(\

归并排序算法耗时(s);

36


题目2_排序综合_报告(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《应用语言学》教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: