fork(3) download
  1. #include <iostream>
  2. #include <string>
  3. #include <unordered_map>
  4. #include <vector>
  5. #include <algorithm>
  6. using namespace std;
  7. void printAnagram(string s[],int n)
  8. {
  9. unordered_map<string,vector<string> > m;
  10. string t;
  11. for(int i=0;i<n;i++)
  12. {
  13. t=s[i];
  14. sort(t.begin(),t.end());
  15. m[t].push_back(s[i]);
  16. }
  17. for(unordered_map<string,vector<string> >::iterator it=m.begin();it!=m.end();it++)
  18. {
  19. for(int i=0;i<it->second.size();i++)
  20. cout<<it->second[i]<<endl;
  21. }
  22. }
  23. int main() {
  24. string wordArr[] = {"cat", "dog", "tac", "god", "act", "gdo"};
  25. int size = sizeof(wordArr) / sizeof(wordArr[0]);
  26. printAnagram(wordArr, size);
  27. return 0;
  28. }
Success #stdin #stdout 0s 3436KB
stdin
Standard input is empty
stdout
dog
god
gdo
cat
tac
act