洛谷P1177快速排序

传送门

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int n;
long long a[100005];

inline void quick_sort(int l,int r) {
	int i = l , j = r ;
	int mid = a[(l + r ) / 2];
	while(i<=j) {
		while(a[i] < mid)  i++;
		while(a[j] > mid)  j--;
		if(i <= j) {
			a[0] = a[i];
			a[i] = a[j];
			a[j] = a[0];
			i++;  j--;
		}
		if(l < j) quick_sort(l , j);
		if(i < r) quick_sort(i , r);
	}
}

int main() {
	scanf("%d",&n);
	for(int i = 1; i <= n; ++i)
		scanf("%d",&a[i]);
	quick_sort(1 , n);
	for(int i = 1; i <= n; ++i)
		printf("%d ",a[i]);
	return 0;
}
原文地址:https://www.cnblogs.com/Stephen-F/p/9932049.html