快速排序C++实现如下:
#include <iostream>
using namespace std;
int partition(int *a, int i, int j)
{
int pivot = a[i];
while(i<j)
{
while(i<j&&a[j]>=pivot) j--;
if(i<j) a[i++] = a[j];
while(i<j&&a[i]<=pivot) i++;
if(i<j) a[j--] = a[i];
}
a[i] = pivot;
return i;
}
void quickSort(int *a, int low, int high)
{
int pivot;
if(low<high)
{
pivot = partition(a, low, high);
quickSort(a, low, pivot-1);
quickSort(a, pivot+1, high);
}
}
int main()
{
int n,a[100000];
cin >> n;
for(int i=0; i<n; i++)
{
cin >> a[i];
}
quickSort(a, 0, n-1);
for(int i=0; i<n; i++)
cout << a[i] << " ";
}