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

use*_*189 2 c++ sorting median

可能重复:
计算存储在Vector-C++中的值的中值?

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

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

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

Oli*_*rth 6

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

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