快速排序

快速排序模板

 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 }

 

posted @ 2022-03-03 21:09  death_gun  阅读(50)  评论(0)    收藏  举报