包括选择排序,冒泡排序,归并排序,快速排序,插入排序
代码如下:
#include <iostream>
#include <ctime>
#include <cmath>
using namespace std;
void selection (int a[],int n);//选择排序
void bubble(int a[],int n);//冒泡
void Merge(int a[],int low,int m,int high);
void MergeSort(int a[],int low,int high);//归并
int partition(int a[],int low,int high);
void quick(int a[],int low,int high);//快速
void insertSort(int a[],int n);//插入排序
int save[20][100000];//用于储存生成的随机数
int use[100000];//提取需要的部分来进行运算
int main()
{
int n;
int i,j,t,flag;
double tsum1;//用于计算时间和
for(i=0;i<20;i++)
for(j=0;j<100000;j++)
save[i][j]=rand();//生成随机数放到数组中,列为20行
while(true){
cout<<"请输入数组规模: ";
cin>>n;
//选择
tsum1=0;
for(i=0;i<20;i++)
{
for(j=0;j<n;j++)
{
use[j]=save[i][j];//取数组中需要计算的部分
// cout<<use[j]<<" ";
}
clock_t start, end;
start = clock();//开始计时
selection(use,n);
end = clock();//结束计时
tsum1=tsum1+(double)(end - start) / CLOCKS_PER_SEC;//累加每次运行的时间
if(i==0)
cout<<"选择排序运行时间:";
cout<<(double)(end - start) / CLOCKS_PER_SEC<<"s ";
}
cout<<endl;
c