#include <iostream>
using namespace std;
int Partition(int *array, int start, int finish)
{
int key = array[start];
while(start < finish)
{
while(start < finish && array[finish] > key) finish--;
array[start] = array[finish];
while(start < finish && array[start] < key) start++;
array[finish] = array[start];
}
array[start] = key;
return start;
}
void QSort(int *array, int start, int finish)
{
if(start < finish)
{
int pos = Partition(array, start, finish);
QSort(array, start, pos-1);
QSort(array, pos + 1, finish);
}
}
int main()
{
int *array;
int n;
scanf("%d", &n);
array = new int[n];
for(int i = 0; i < n; i++)
scanf("%d", &array[i]);
QSort(array, 0, n-1);
for(int i = 0; i < n; i++)
printf(" %d", array[i]);
}
快速排序
最新推荐文章于 2023-05-08 11:11:57 发布