快速排序版子

#include<bits/stdc++.h>
using namespace std;
int a[1000001];
void qsort(int l,int r){
	int mid=a[(l+r)/2];
	int i=1,j=r;
	do{
		while(a[i]<mid) i++;
		while(a[j]>mid) j--;
		if(i<=j){
			swap(a[i],a[j]);
			i++;
			j--;
		}
	}while(i<=j);
	if(l<j) qsort(l,j);
	if(l<j) qsort(i,r);
}
int main(){
	int e;
	cin>>e;
	for(int kkk=1;kkk<=e;kkk++) cin>>a[kkk];
	qsort(1,e);
	for(int kkk=1;kkk<=e;kkk++) cout<<a[kkk]<<' ';
	return 0;
}
posted @ 2020-10-14 14:58  一杯好凉茶  阅读(132)  评论(0编辑  收藏  举报