Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std ;
- deque<int> a ;
- deque<int> mergeSort(deque<int> x){
- deque<int> ret ;
- if(x.size() == 1) return x ;
- deque<int> l , r ;
- int low = 0 , hi = x.size() ;
- int mid = low + hi >> 1 ;
- for(int i = 0 ; i < mid ; i ++) l.push_back(x[i]);
- for(int i = mid ; i < hi ; i ++) r.push_back(x[i]);
- l = mergeSort(l);
- r = mergeSort(r);
- while(!l.empty() && !r.empty()){
- if(l.front() <= r.front()){
- ret.push_back(l.front());
- l.pop_front();
- }
- else{
- ret.push_back(r.front());
- r.pop_front();
- }
- }
- while(!l.empty()){
- ret.push_back(l.front());
- l.pop_front();
- }
- while(!r.empty()){
- ret.push_back(r.front());
- r.pop_front();
- }
- return ret ;
- }
- int main(){
- int n ;
- int x;
- for(int i = 0 ; scanf("%d",&x)!= EOF ; i ++){
- a.push_back(x);
- }
- a = mergeSort(a);
- for(int i =0 ; i < a.size() ; i ++)
- printf("%d ",a[i]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement