#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <string>
#include <math.h>
#include <time.h>
using namespace std;
int PARTITION(int a[],int p,int r)
{
int x = a[r];
int i = p - 1;
for(int j=p;j<=r-1;j++)
{
if(a[j] < x)//or <=?
{
i++;
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
a[r] = a[i+1];
a[i+1] = x;
return i+1;
}
void quickSort(int a[],int p,int r)
{
if(p<r)
{
int q = PARTITION(a,p,r);
quickSort(a,p,q-1);
quickSort(a,q+1,r);
}
}
int main()
{
int a[10];
//srand(time(0));
for(int i=0;i<10;i++)
{
a[i] = rand()%1000;
printf("%5d",a[i] );
}
cout<<endl;
quickSort(a,0,9);
for(int i=0;i<10;i++)
printf("%5d",a[i] );
cout<<endl;
return 0;
}
算法导论第七章-快速排序-c++
最新推荐文章于 2022-08-03 11:21:27 发布