-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathquicksort.cpp
More file actions
58 lines (49 loc) · 1.07 KB
/
quicksort.cpp
File metadata and controls
58 lines (49 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include<bits/stdc++.h>
using namespace std;
#define lli long long int
#define MOD 1000000007
int partition(int a[],int start, int end){
int pivot = a[end] ;
int i = start - 1 ;
for (int j = start ; j < end ; j++){
if(a[j] <= pivot ){
i++;
swap(a[i], a[j]);
}
}
swap(a[i+1],a[end]);
return i + 1 ;
}
void QuickSort(int a[], int start , int end){
if(start < end ){
int pos = partition(a,start,end) ;
QuickSort(a,start,pos -1);
QuickSort(a,pos+1,end);
}
}
void CowboyBebop(){
int n ;
cin >> n ;
int a[n] ;
for(int i = 0; i < n ; i++){
cin >> a[i] ;
}
QuickSort(a,0,n-1) ;
for(int i = 0; i < n ; i++){
cout << a[i] << " " ;
}
cout << endl;
}
using namespace std;
int main(void){
std::ios_base::sync_with_stdio(false);
// #ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
int t = 1 ;
// cin >> t;
while(t--){
CowboyBebop();
}
return 0;
}