顾名思义,最快的排序,相当于sort
直接上代码:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
void qsort(int,int);
int a[1000001];
int ans; 
int main()
{
	int n,i;
	cin >> n;
	for(i = 1;i <= n;i ++)
	    cin >> a[i];
	qsort(1,n);
	for(i = 1;i <= n;i ++)
	    cout << a[i] << " ";
	cout << endl;
	return 0;
}
void qsort(int l,int r)//左边和右边
{
	int i,j,mid,p;
	i = l;j = r;
	mid = a[(l + r) / 2];//定义中间参考的数
	while(i <= j)
	{
		while(a[i] < mid) i ++;//如果前面的都比中间的小就不用交换
		while(a[j] > mid) j --;//反之,后面的比中间的大也不用交换(从小到大排序)
		if(i <= j)//如果找到两个要交换的数并且符合条件大在前小在后,那么交换,并且找下一个
		{
			swap(a[i],a[j]);
			i ++;j --;
		}
	}
	if(l < j) qsort(1,j);//如果找完之后还可以接着找,那么继续
	if(i < r) qsort(i,r);
}
模板
原文:https://www.cnblogs.com/57xmz/p/12595634.html