#include <iostream>
#include <vector>
using namespace std;
class Quick_sort{
public:
void quickSort(vector<int>&s, int l, int r)
{
if (l < r)
{
int i = l, j = r, x = s[l];
while (i < j)
{
while (i < j && s[j] >= x) // 从右向左找第一个小于x的数
j--;
if (i < j)
s[i++] = s[j];
while (i < j && s[i] < x) // 从左向右找第一个大于等于x的数
i++;
if (i < j)
s[j--] = s[i];
}
s[i] = x;
quickSort(s, l, i - 1); // 递归调用
quickSort(s, i + 1, r);
}
}
};
int main(void)
{
int nums;
while (cin>>nums)
{
vector<int>array(nums);
for (int i = 0; i < nums;i++)
{
int tmp;
cin >> tmp;
array[i] = tmp;
}
Quick_sort solve;
solve.quickSort(array, 0,nums-1);
for (int i = 0; i < 12; i++)
{
if (i == 11)
{
cout << array[i] << endl;
}
else
{
cout << array[i] << " ";
}
}
}
return 0;
}
快速排序
最新推荐文章于 2025-08-24 11:06:10 发布