时间复杂度:O(nlogn)
void quick_sort(int l,int r)
{
if(l>=r) return;
int mid=a[l+r>>1];
int i=l,j=r;
do{
while(a[i]<mid) i++;//左半部分第一个大于等于基准数的位置
while(a[j]>mid) j--;//右半部分第一个小于等于基准数的位置
if(i<=j) {swap(a[i],a[j]);i++;j--;}
}while(i<=j)
quick_sort(l,i-1);
quick_sort(i,r);
}