代码
#include<iostream>
using namespace std;
int partition(int arr[], int s, int t)
{
int temp = arr[s];
int i = s;
int j = t;
while (i != j)
{
while (j > i && arr[j] > temp)
{
j--;
}
if (i < j)
{
swap(arr[i], arr[j]);
i++;
}
while (j > i && arr[i] <= temp)
{
i++;
}
if (i < j)
{
swap(arr[i], arr[j]);
j--;
}
}
return i;
}
void quickSort(int arr[], int s, int t)
{
int i;
if (s < t)
{
i = partition(arr, s, t);
quickSort(arr, s, i - 1);
quickSort(arr, i + 1, t);
}
}
int main()
{
int arr[10] = { 1,3,6,3,99,3,74,11,5,7 };
int len = sizeof(arr) / sizeof(int);
quickSort(arr, 0, len - 1);
for (int i = 0; i < len; i++)
{
cout << arr[i] << " ";
}
return 0;
}