fork(2) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <functional>
  5.  
  6. int main()
  7. {
  8. std::vector<int> v{5, 6, 4, 3, 2, 6, 7, 9, 3};
  9.  
  10. std::nth_element(v.begin(), v.begin() + v.size()/2, v.end());
  11. std::cout << "중앙값 : " << v[v.size()/2] << '\n';
  12.  
  13. std::nth_element(v.begin(), v.begin()+1, v.end(), std::greater<int>());
  14. std::cout << "두번째로 큰 값 : " << v[1] << '\n';
  15.  
  16. std::nth_element(v.begin(), v.begin(), v.end(), std::greater<int>());
  17. std::cout << "가장 큰 값 : " << v[0] << '\n';
  18.  
  19. std::nth_element(v.begin(), v.end() - 1, v.end(), std::greater<int>());
  20. std::cout << "가장 작은 값 : " << v[v.size() - 1] << '\n';
  21.  
  22. std::nth_element(v.begin(), v.end() - 2, v.end(), std::greater<int>());
  23. std::cout << "두번째로 작은 값 : " << v[v.size() - 2] << '\n';
  24.  
  25. return 0;
  26. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
중앙값 : 5
두번째로 큰 값 : 7
가장 큰 값 : 9
가장 작은 값 : 2
두번째로 작은 값 : 3