博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序——数据结构课程作业
阅读量:6262 次
发布时间:2019-06-22

本文共 4237 字,大约阅读时间需要 14 分钟。

 (╥╯^╰╥)

 

1 /* 2 请设计直接插入排序算法函数void insertSort(int a[],int n),对a[1]..a[n]进行升序排序。 3 并测试在不同数据规模下的排序效率。 4 */ 5 #include "Arrayio.h" 6 #define N 10000     /*N为数据量大小,因data1.txt中只有50万个数,所以自行设定N值时需让N<=500000*/ 7  8 /*请将本函数补充完整,并进行测试*/ 9 void insertSort(int a[],int n)10 {11     /*直接插入排序*/12     int i;13     for(i=2; i<=n; i++)14     {15         if(a[i]
直接插入排序
1 /* 2 请设计二分插入排序算法函数void binInsertSort(int a[],int n),对a[1]..a[n]进行升序排序。 3 并测试在不同数据规模下的排序效率。 4 */ 5 #include "Arrayio.h" 6 #define N 10000     /*N为数据量大小,因data1.txt中只有50万个数,所以自行设定N值时需让N<=500000*/ 7 #include 
8 9 using namespace std;10 11 12 /*请将本函数补充完整,并进行测试*/13 void insertSort(int a[],int n)14 {15 /*直接插入排序*/16 for(int i=2; i<=n; i++)17 {18 if(a[i]
二分插入排序
1 /* 2 请设计shell排序算法函数void shellSort(int a[],int n),对a[1]..a[n]进行升序排序。 3 并测试在不同数据规模下的排序效率。 4 */ 5 #include "Arrayio.h" 6 #define N 10000     /*N为数据量大小,因data1.txt中只有50万个数,所以自行设定N值时需让N<=500000*/ 7  8 /*请将本函数补充完整,并进行测试*/ 9 void shellSort(int a[],int n)10 {11     for(int d=n/2;d>=1;d=d/2)12     {13         for(int i=d+1;i<=n;i++) {14             int tmp = a[i];15             int j;16             for(j=i-d;j>0&&tmp
shell排序算法
1 /* 2 请设计简单选择排序算法函数void selectSort(int a[],int n),对a[1]..a[n]进行升序排序。 3 并测试在不同数据规模下的排序效率。 4 */ 5 #include "Arrayio.h" 6 #define N 10000     /*N为数据量大小,因data1.txt中只有50万个数,所以自行设定N值时需让N<=500000*/ 7 #include 
8 9 using namespace std;10 11 /*请将本函数补充完整,并进行测试*/12 void selectSort(int a[],int n)13 {14 for(int i=1;i
简单选择排序算法
1 /* 2 请设计筛选函数void sift(int a[],int k,int n),对a[k] 进行筛选, 3 并利用其设计堆排序算法函数void heapSort(int a[],int n), 4 对a[1]..a[n]进行升序排序。并测试在不同数据规模下的排序效率。(详见lab10_05.c) 5 */ 6 #include "Arrayio.h" 7 #define N 10000     /*N为数据量大小,因data1.txt中只有50万个数,所以自行设定N值时需让N<=500000*/ 8  9 /*请将本函数补充完整,并进行测试*/10 void sift(int a[],int k,int n)11 {12     int i,j,finished;13     i=k;14     j=2*i;15     a[0]=a[k];16     finished=0;17     while((j<=n)&&(!finished))18     {19         if((j
a[j]))20 j++;21 if(a[0]>=a[j])22 finished=1;23 else24 {25 a[i]=a[j];26 i=j;27 j=2*j;28 }29 }30 a[i]=a[0];31 }32 33 void heapSort(int a[],int n)34 {35 int i;36 for (i=n/2; i>=1; i--)37 sift(a,i,n);38 for (i=n; i>1; i--)39 {40 a[0]=a[i];41 a[i]=a[1];42 a[1]=a[0];43 sift(a,1,i-1);44 }45 }46 47 int main()48 {49 int a[N+1],n; /*数据存储在a[1]...a[N]中*/50 printf("数据初始化...\n");51 n=readData(a,N,"data1.txt"); /*从data1.txt中读入N个整数存入数组a,n为实际读入的数据个数*/52 printf("%d个数据排序中...\n",n);53 heapSort(a,n);54 saveData(a,n,"out.txt"); /*排序结果存放在out.txt文件中*/55 printf("排序结束,排序结果保存在out.txt文件中。\n");56 return 0;57 }
堆排序算法
1 /* 2 请设计冒泡排序算法函数void bubbleSort(int a[],int n),对a[1]..a[n]进行升序排序。 3 并测试在不同数据规模下的排序效率。 4 */ 5 #include "Arrayio.h" 6 #define N 10000     /*N为数据量大小,因data1.txt中只有50万个数,所以自行设定N值时需让N<=500000*/ 7 #include 
8 9 using namespace std;10 11 /*请将本函数补充完整,并进行测试*/12 void bubbleSort(int a[],int n)13 {14 for(int i=1;i<=n-1;i++) {15 bool flag = true;16 for(int j=1;j<=n-i;j++) {17 if(a[j]>a[j+1]) {18 swap(a[j],a[j+1]);19 flag = false;20 }21 }22 if(flag) return ;23 }24 }25 26 int main()27 {28 int a[N+1],n; /*数据存储在a[1]...a[N]中*/29 printf("数据初始化...\n");30 n=readData(a,N,"data1.txt"); /*从data1.txt中读入N个整数存入数组a,n为实际读入的数据个数*/31 printf("%d个数据排序中...\n",n);32 bubbleSort(a,n);33 saveData(a,n,"out.txt"); /*排序结果存放在out.txt文件中*/34 printf("排序结束,排序结果保存在out.txt文件中。\n");35 return 0;36 }
冒泡排序
1 /* 2 请设计快速排序算法函数void quickSort(int a[],int low,int right),对a[low]..a[right]进行升序排序。 3 并测试在不同数据规模下的排序效率。 4 */ 5 #include "Arrayio.h" 6 #define N 10000     /*N为数据量大小,因data1.txt中只有50万个数,所以自行设定N值时需让N<=500000*/ 7  8 /*请将本函数补充完整,并进行测试*/ 9 void quickSort(int a[],int low,int right )10 {11     int i = low, j = right;12     int tmp = a[low];13     if(low
=tmp)18 j--;19 20 if(i
快速排序算法

 

转载于:https://www.cnblogs.com/TreeDream/p/6213206.html

你可能感兴趣的文章
Jar mismatch! Fix your dependencies
查看>>
哀悼日, 网页变灰的实现
查看>>
php:检测用户当前浏览器是否为IE浏览器
查看>>
linux命令备份
查看>>
10个你可能不知道的JavaScript小技巧
查看>>
【ASP】文件上传
查看>>
集合类(数据结构图、集合图、集合之间的比较)
查看>>
hibernate _关联级别策略介绍
查看>>
来了!阿里开源分布式事务解决方案 Fescar
查看>>
挑战Kafka!Redis5.0重量级特性Stream尝鲜
查看>>
荣耀畅玩7C挑战红米5 Plus,千元手机档的王者对决
查看>>
聚划算超级聚享日为当代青年人打造理想家居空间
查看>>
雏形已具?2018年物联网智能市场研究报告
查看>>
陕西破获特大捕杀濒危野生动物案 设置“高压线”电杀猎物
查看>>
“办事不求人”破天荒写入黑龙江省政府工作报告
查看>>
Python文件操作的20个面试题,帮你打开公司大门,值得收藏
查看>>
2018年将是区块链商用化元年
查看>>
自然语言处理时,通常的文本清理流程是什么?
查看>>
最靠谱的《数据分析师》成长指南!真实数据库、2年销售数据、50h的训练学习……...
查看>>
可能是最好的正则表达式的教程笔记了吧...
查看>>