在c ++中查找值集合的中值

时间:2011-05-19 13:35:31

标签: c++ sorting median

  

可能重复:
  Compute Median of Values Stored In Vector - C++?

我需要存储一组值,然后才能计算其中值。

用于存储这些值的c ++中最好的容器是什么,我如何找到中位数?

(我可能也希望能够删除特定元素,所以我认为设置可能不是最好的选择......)

1 个答案:

答案 0 :(得分:6)

除了任何其他特定要求,您应默认为std::vector。你提到你想要以后删除项目;这意味着您可能需要考虑使用std::list

要查找中位数,您可以使用std::nth_element,要求它在N/2 - (或(N-1)/2 - th)元素上进行转动。这在 O(N)时间内运行。