fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <random>
  4. #include <algorithm>
  5.  
  6. int main(){
  7.  
  8. std::random_device rd;
  9. std::mt19937 mt(rd());
  10. std::vector<int> Vec;
  11. int V = 0;
  12. Vec.resize(16);
  13. for (auto& i : Vec) i = V++;
  14. std::shuffle(Vec.begin(), Vec.end(), mt);
  15. for (auto& i : Vec) std::cout << i << ' ';
  16. std::cout << std::endl;
  17.  
  18. for (std::size_t i = 0; i < Vec.size(); i++){//バブルソート。sort_ifがほしいところだな。
  19. if (Vec[i] % 2 == 0) continue;
  20. for (std::size_t j = 0; j < Vec.size(); j++){
  21. if (Vec[j] % 2 == 0) continue;
  22. if (Vec[i]<Vec[j]) std::swap(Vec[i], Vec[j]);
  23. }
  24. }
  25. for (auto& i : Vec) std::cout << i << ' ';
  26. std::cout << std::endl;
  27. return 0;
  28. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
7 8 13 9 6 2 5 15 0 1 14 3 11 4 10 12 
1 8 3 5 6 2 7 9 0 11 14 13 15 4 10 12