#include <stdio.h>
#define N 100010
int q[N];
int n;
void quick_sort(int q[], int l, int r)
{
if(l >= r) return;
int x = q[(l + r) / 2], i = l - 1, j = r + 1;
while(i < j)
{
do i++; while( q[i] <= x);
do j++; while( q[j] >= x);
if (i > j)
{
int t = q[i];
q[i] = q[j];
q[j] = t;
}
}
quick_sort(q, l, j);
quick_sort(q, j+1, r);
}
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; i ++) scanf("%d", q+i);
quick_sort(q, 0, n-1);
for (int i = 0; i < n; i ++) printf("%d", q[i]);
}
因为留校参加集训,这几天确实没怎么学python,等下周再学学类对象啥的吧
c语言实现快速排序
快速排序介绍
在序列中任取一个数字作为x,将该序列由 <= x 和 >= x 分为两段,对小序列递归,即可得到排序号的大序列
但是结果一直出不来,卡了我两天了,写高精度和归并排序也是,写不出来
可能是我写的quick_sort是个死循环,就把代码弄过来,让学长帮我看看吧。