fork download
  1. #include <bits/stdc++.h>
  2. #include<string.h>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7. int n;
  8. cin >> n;
  9. vector<string> unsorted(n);
  10. for(int unsorted_i = 0; unsorted_i < n; unsorted_i++)
  11. cin >> unsorted[unsorted_i];
  12. int i=0;
  13. int flag=0;
  14. while(i<n)
  15. {
  16. if(flag==1)
  17. i=0;
  18. flag=0;
  19. if(unsorted[i].length()>unsorted[i+1].length())
  20. {
  21. swap(unsorted[i],unsorted[i+1]);
  22. flag=1;
  23. }
  24. else if(unsorted[i].length()==unsorted[i+1].length())
  25. {
  26. int k=unsorted[i].compare(unsorted[i+1]);
  27. if(k>0)
  28. {
  29. swap(unsorted[i], unsorted[i+1]);
  30. flag=1;
  31. }
  32. }
  33. i++;
  34. }
  35. for(int j=0;j<n;j++)
  36. cout<<unsorted[j]<<endl;
  37. return 0;
  38. }
  39.  
  40.  
Success #stdin #stdout 0s 15240KB
stdin
7
122243452
23
7689
11
2
896798483467572
11
stdout
2
11
11
23
7689
122243452
896798483467572