一、快速排序基本思路
通过一趟排序将要排序的数据分成 两段 ,其中一段的数据均小于另外一段数据,在以此方法对两段数据相同操作(递归)
二、快速排序的实现
四、代码实现C++
#include <iostream>
using namespace std;
const int N = 1e6+10;
int n;
int q[N];
int quick_sort(int q[] ,int l ,int r ) {
    if(l >= r) return 0;
int x = q[l],i = l-1 , j = r+1;
while( i < j ) {
      do i ++ ; while( q[i] < x);
      do j -- ; while( q[j] > x);
      if( i < j ) swap(q[i],q[j]);
      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]);
    return 0;
}
原文:https://www.cnblogs.com/BlueWK/p/14869588.html