适合Accept的快速排序代码,适合任意强数据。
#include<stdio.h>
#define N 100010
int n, temp, nums[N];
void swap(int i, int j)
{
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
void quick_sort(int nums[], int l, int r)
{
if(l >= r) return;
int key = nums[l + r >> 1], i = l - 1, j = r + 1;
while(i < j)
{
while(nums[++i] < key);
while(nums[--j] > key);
if(i < j) swap(i, j);
}
quick_sort(nums, l, j);
quick_sort(nums, j + 1, r);
}
int main()
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
scanf("%d", &nums[i]);
quick_sort(nums, 0, n - 1);
for(int i = 0; i < n; i++)
printf("%d ", nums[i]);
}