Advertisement
imashutosh51

Sorting Elements of an Array by Frequency

Jul 31st, 2022 (edited)
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. bool compare(pair<int,int> a,pair<int,int> b){
  4.     if(a.first!=b.first) return a.first>b.first;
  5.     else return a.second<b.second;
  6. }
  7. int main(){
  8.     int t;cin>>t;
  9.     while(t--){
  10.         int n;cin>>n;
  11.         unordered_map<int,int> mp;
  12.         for(int i=0;i<n;i++){int a;cin>>a;mp[a]++;}
  13.         vector<pair<int,int>> arr;
  14.         for(auto itr:mp){
  15.             arr.push_back(make_pair(itr.second,itr.first));
  16.         }
  17.         sort(arr.begin(),arr.end(),compare);
  18.         for(auto itr:arr){
  19.             for(int i=0;i<itr.first;i++) cout<<itr.second<<" ";
  20.         }
  21.         cout<<endl;
  22.     }
  23.     return 0;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement