二分排序
找一个基准值,比他小的放在他左边,比他大的放在他右边,第一遍结束的结果就是这样,然后对两部分递归
if(l<r){ int i=l,j=r,tem=a[i]; while (i < j){ while (i<j && a[j]>=tem){ j--; } if(i < j){ a[i ++] = a[j]; } while (i<j && a[i] < tem){ i ++; } if(i < j){ a[j--] = a[i]; } } a[i] = tem; sort(a,l,i-1); sort(a,i+1,r); } }