#include #include #include #include//cstdlib #include using namespace std; int a[1010]; int Partition(int r[],int low,int high)//划分函数改进 { int k=(rand()%(high-low+1))+low; int pivot=r[k];//不要取第一个当基准元素,卡超时,最好引入随机化,仍然超时 swap(r[low],r[k]); int i=low,j=high; while(ipivot) j--;//向左扫描 while(ipivot) { swap(r[i-1],r[low]);//r[i-1]和r[low]交换 return i-1;//返回最终划分完成后基准元素所在的位置 } swap(r[i],r[low]);//r[i]和r[low]交换 return i;//返回最终划分完成后基准元素所在的位置 } void QuickSort(int R[],int low,int high)//实现快排算法 { int mid; if(low>T; while(T--) { cin>>n; for(i=0;i>a[i]; QuickSort(a,0,n-1); for(i=0;i