C++排序算法之快速排序_递归
C++排序算法之快速排序_c++_02
C++排序算法之快速排序_c++_03
C++排序算法之快速排序_快速排序_04
C++排序算法之快速排序_c++_05
C++排序算法之快速排序_快速排序_06
C++排序算法之快速排序_算法_07
C++排序算法之快速排序_i++_08
C++排序算法之快速排序_算法_09
C++排序算法之快速排序_递归_10
C++排序算法之快速排序_i++_11
C++排序算法之快速排序_i++_12
C++排序算法之快速排序_递归_13
C++排序算法之快速排序_i++_14

C++排序算法之快速排序_算法_15
C++排序算法之快速排序_c++_16
C++排序算法之快速排序_c++_17
C++排序算法之快速排序_c++_18

//Author:PanDaoxi
#include <iostream>
using namespace std;
const int maxn=101;
int a[maxn];
// 快速排序函数 
void qsort(int left,int right){
	// 递归边界:如果left>=right(即这一趟排序完成) 
	if(left>=right) return; 
	// 保存基准值和左右指针 
	int x=a[left],i=left,j=right;
	while(i<j){
		// 处理左右指针间的数值
		while(i<j&&a[j]>=x) j--; // 右边数值比基准值大
		a[i]=a[j];
		while(i<j&&a[i]<=x) i++; // 右边数值比基准值小
		a[j]=a[i]; 
	}
	a[i]=x; // 放回基准值
	// 递归快速排序
	qsort(left,i-1);  // 左边序列排序  
	qsort(i+1,right); // 右边序列排序 
}	
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	// 快速排序:从数组a下标到n 
	qsort(1,n);
	for(int i=1;i<=n;i++){
		cout<<a[i]<<" ";
	}
	return 0;
} 

C++排序算法之快速排序_快速排序_19