我需要存储一组值,然后才能计算其中值。
用于存储这些值的c ++中最好的容器是什么,我如何找到中位数?
(我可能也希望能够删除特定元素,所以我认为设置可能不是最好的选择......)
答案 0 :(得分:6)
除了任何其他特定要求,您应默认为std::vector
。你提到你想要以后删除项目;这意味着您可能需要考虑使用std::list
。
要查找中位数,您可以使用std::nth_element
,要求它在N/2
- (或(N-1)/2
- th)元素上进行转动。这在 O(N)时间内运行。