快速排序
快速排序模板
1 #include<iostream> 2 using namespace std; 3 const int N = 1e5 + 10; 4 int arr[N]; 5 6 void quick_sort(int arr1[],int l,int r){ 7 if(l>=r) return; 8 int x = arr1[(l+r)>>1]; 9 int i=l-1,j=r+1; 10 while(i<j){ 11 do i++;while(arr1[i]<x); 12 do j--;while(arr1[j]>x); 13 if(i<j){ 14 int t = arr1[i]; 15 arr1[i] = arr1[j]; 16 arr1[j] = t; 17 } 18 } 19 quick_sort(arr1,l,j); 20 quick_sort(arr1,j+1,r); 21 } 22 23 int main(){ 24 int n; 25 scanf("%d",&n); 26 for(int i=0;i<n;i++) scanf("%d",&arr[i]); 27 quick_sort(arr,0,n-1); 28 for(int i=0;i<n;i++) printf("%d ",arr[i]); 29 return 0; 30 }

浙公网安备 33010602011771号