//============================================================================
// Name : qsort.cpp
// Author : a
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstdio>
using namespace std;
void swap(int *a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}
int partition(int a[], int left, int right)
{
int i = left;
int j = right;
int k = a[left];
while(i<j)
{
while(i<j && a[j]>k)
j--;
a[i] = a[j];
while(i<j && a[i]<k)
i++;
a[j] = a[i];
}
a[i] = k;
return i;
}
void qsort(int a[], int left, int right)
{
if(left<right)
{
int p = partition(a, left, right);
qsort(a, left, p-1);
qsort(a, p+1, right);
}
}
int main() {
int a[50];
srand(time(NULL));
for (int i = 0; i < 50; i++)
a[i] = rand();
qsort(a, 0, 49);
for(int i = 0; i < 50; i++)
cout << a[i] << " ";
return 0;
}
快速排序
最新推荐文章于 2023-12-01 23:14:38 发布