Advertisement
saurav_kalsoor

Custom Sort

Jul 10th, 2021 (edited)
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. //Author : Saurav Kalsoor
  2. //Custom Sort
  3.  
  4.  
  5. #include <bits/stdc++.h>
  6.  
  7. using namespace std;
  8.  
  9. vector<int> customSort(vector<int> arr, int n){
  10.    
  11.     vector<int> even, odd;
  12.     for(int i = 0; i < n; i++){
  13.         if(arr[i]%2 == 0)
  14.             even.push_back(arr[i]);
  15.         else
  16.             odd.push_back(arr[i]);
  17.     }
  18.    
  19.    
  20.     sort(even.begin(), even.end());
  21.     sort(odd.begin(), odd.end(), greater<int>());
  22.    
  23.     int x = 0, y = 0;
  24.     for(int i = 0; i < n; i++){
  25.         if(arr[i]%2 == 0){
  26.             arr[i] = even[x];
  27.             x++;
  28.         }
  29.         else{
  30.             arr[i] = odd[y];
  31.             y++;
  32.         }
  33.     }
  34.    
  35.     return arr;
  36. }
  37.  
  38.  
  39. int main(){
  40.     int n;
  41.     cin>>n;
  42.     vector<int> arr(n);
  43.    
  44.     for(int i=0;i<n;i++)
  45.         cin>>arr[i];
  46.    
  47.     vector<int> res = customSort(arr, n);
  48.    
  49.     for(int a : res)
  50.         cout<<a<<" ";
  51.     cout<<endl;
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement