fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. struct data_t {
  9. int num;
  10. string str;
  11. };
  12.  
  13. // 比較関数を定義
  14. bool asc( const data_t& left, const data_t& right ) {
  15. return left.num == right.num ? left.str < right.str : left.num < right.num;
  16. }
  17.  
  18. int main(){
  19. vector<data_t> data_array(3);
  20.  
  21. data_array[0].num = 15;
  22. data_array[0].str = "zzz";
  23. data_array[1].num = 30;
  24. data_array[1].str = "aaa";
  25. data_array[2].num = 15;
  26. data_array[2].str = "ccc";
  27.  
  28. sort(data_array.begin(), data_array.end(), asc);
  29.  
  30. for(int i = 0; i < data_array.size(); ++i){
  31. cout << "i " << i << ": " << endl;
  32. cout << " num: " << data_array[i].num << endl;
  33. cout << " str: " << data_array[i].str << endl;
  34. }
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0s 2992KB
stdin
Standard input is empty
stdout
i 0: 
  num: 15
  str: ccc
i 1: 
  num: 15
  str: zzz
i 2: 
  num: 30
  str: aaa