void qsort(int a[],int left,int right)
{
int i=left,j=right;
int mid = a[left];
while(i<j)
{
while(i<j && a[j]>=mid) //从右边 找到第一个比支点小的数
--j;
while(i<j && a[i]<=mid) //从左边找到第一个大的数
++i;
if(i<j)
swap(a[i],a[j]);
}
swap(a[i],a[left]); //归位
qsort(a,left,i-1);
qsort(a,i+1,right);
}
快排是一个不稳定的排序 但是确实一个比较优秀的快速的排序!
桶排序用于那些待排序数量很多 但是间隔相差不多的情况!