快速排序、归并排序与选择排序

真的好久好久没有编写程序,连排序算法都要参考书先可以写出,哎!!

程序要求:随机产生20组数据(比如n=5000i1i20)。数据均属于范围(0105)内的整数。对于同一组数据,运行选择排序算法、快速排序和归并排序算法,并记录各自的运行时间(以毫秒为单位)。


程序中除了设计3种算法,还有用srand(),rand()函数产生随机数,还有用clock() 计算程序运行时间。

刚开始时,挺棘手的,还要上网查资料

平时只看书,没有动手,以后要多点动手才行!!


#include 
#include 
#include 
using namespace std;

/*this is a selectionsort */
void SelectionSort(int *str,int n)
{
    int i,j,k;
    for(i=0; i=right) return;
    mid = (left+right)/2;
    MergeSort(p,left,mid);
    MergeSort(p,mid+1,right);
    Merge(p,left,mid,right);
}


int main()
{
    int i;
    double t1=0,t2=0,t3=0;     //存放总时间
    for(i=1; i<=20; i++)
    {
        int n = 5000*i;
        int *array1 = NULL;
        int *array2 = NULL;
        int *array3 = NULL;
        array1 = array2 = array3 = (int *)malloc(sizeof(int)*(n));  //给3个数组分配空间

        srand(time(0));
        for(int j=0; j


你可能感兴趣的:(算法)