Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. double medianOfVector(vector<double> &vec) {
  2. double result = 0;
  3. // vector<double> vec2;
  4. if ((vec.size() % 2) != 0) {
  5. // vec2 = vec;
  6. vector<double>::iterator i = vec.begin();
  7. vector<double>::size_type m = (vec.size() / 2);
  8.  
  9. nth_element(i, i + m, vec.end());
  10. result = vec.at(m);
  11. } else {
  12. vector<double>::iterator i = vec.begin();
  13. vector<double>::size_type m = (int) (((vec.size() - 1) / 2));
  14. nth_element(i, i + m, vec.end());
  15. double min = vec.at(m);
  16. double max = *min_element(i + m + 1, vec.end());
  17. result = (min + max) / 2;
  18. }
  19.  
  20. return result;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement