快速排序算法是C.A.R.Hoare于1962年发明
#include<stdio.h>
//使用递归的快速排序算法
//对于给定的数组,从中选择一个元素,以该元素为界将其余元素划分为两个子集,一个子集中的所有元素都小于该元素,另一个子集中的所有元素都大于或等于该元素。
//对这样的两个子集递归执行这个过程,当某个子集中的元素数小于2时,这个子集就不需要再次排序,终止递归。
void qsort(int v[],int left,int right)
{
int i,last;
void swap(int v[],int i,int j);
if(left>=right) //若数组包含的元素数少于两个 则推出递归结束
return;
swap(v,left,(left+right)/2); //取中间元素作为划分子集的参考数,首先存储参考数于v[0]
last=left;
for(i=left+1;i<=right;++i) //划分子集
{
if(v[i]<