欢迎来到天天文库
浏览记录
ID:37431138
大小:133.99 KB
页数:13页
时间:2019-05-23
《算法分析及设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、排序问题求解实验日志实验题目:排序问题求解实验目的:1)以排序(分类)问题为例,掌握分治法的基本设计策略。2)熟练掌握一般插入排序算法的实现;3)熟练掌握快速排序算法的实现;4)理解常见的算法经验分析方法;实验要求:1.生成实验数据.要求:编写一个函数datagenetare,生成2000个在区间[1,10000]上的随机整数,并将这些数输出到外部文件data.txt中。这些数作为后面算法的实验数据。2.实现直接插入排序算法.3.实现快速排序算法.实验主要步骤:#include#in
2、clude#include#include#defineRAND_MAX10000#defineMax1000intI_Change_count=0;//插入排序比较计数器intI_Move_count=0;//插入排序移动计数器intS_Change_count=0;//选择排序比较计数器intS_Move_count=0;//选择排序移动计数器intQ_Change_count=0;//快速排序比较计数器intQ_Move_count=0;//快速排
3、序移动计数器voidmain(){longnum;longArray[Max],Brray[Max],Crray[Max];//分别用来保存随机数作为两个排序的对象intA_Length;intLow=0;intHigh;time_tt;voidInsertSort(longArray[],intA_Length);//voidSelectSort(longBrray[],intA_Length);voidQuickSort(longCrray[],intLow,intHigh);srand((unsi
4、gned)time(&t));/*用时间初始化随机函数*/intT,i;printf("输入你想要比较的数的个数,本算法是按照2的次方来计算的:");scanf("%d",&T);A_Length=(int)pow(2.,T);if(A_Length>1000){exit(0);//如果比较次数大于100000,退出程序}High=A_Length-1;printf("比较的个数为:%d",A_Length);printf("=======================原序列===========
5、==============");for(i=0;i6、gth);for(i=0;i7、=======选择排序后的序列=========================");SelectSort(Brray,A_Length);for(inti=0;i8、t,S_Move_count,S_Change_count+S_Move_count);*/printf("=======================快速排序后的序列=========================");QuickSort(Crray,Low,High);for(i=0;i
6、gth);for(i=0;i7、=======选择排序后的序列=========================");SelectSort(Brray,A_Length);for(inti=0;i8、t,S_Move_count,S_Change_count+S_Move_count);*/printf("=======================快速排序后的序列=========================");QuickSort(Crray,Low,High);for(i=0;i
7、=======选择排序后的序列=========================");SelectSort(Brray,A_Length);for(inti=0;i8、t,S_Move_count,S_Change_count+S_Move_count);*/printf("=======================快速排序后的序列=========================");QuickSort(Crray,Low,High);for(i=0;i
8、t,S_Move_count,S_Change_count+S_Move_count);*/printf("=======================快速排序后的序列=========================");QuickSort(Crray,Low,High);for(i=0;i
此文档下载收益归作者所有