fork download
  1. #include <algorithm>
  2. #include <iterator>
  3. #include <iostream>
  4. #include <ostream>
  5. #include <vector>
  6.  
  7. using namespace std;
  8.  
  9. template<typename RandomAccessIterator>
  10. RandomAccessIterator median(RandomAccessIterator first,RandomAccessIterator last)
  11. {
  12. RandomAccessIterator m = first + distance(first,last)/2; // handle even middle if needed
  13. nth_element(first,m,last);
  14. return m;
  15. }
  16.  
  17. int main()
  18. {
  19. vector<int> values = {5,1,2,4,3};
  20. cout << *median(begin(values),end(values)) << endl;
  21. }
  22.  
Success #stdin #stdout 0s 3028KB
stdin
Standard input is empty
stdout
3