如何快速删除multiset最后一个元素?

时间:2008-05-13 06:38:29   来源:论坛整理  作者:  编辑:chinaitzhe
请问如何快速删除multiset最后一个元素?

删除最后一元素后,会有新的元素(多于一个或没有)加入,新加入的元素也要排列好,然后再删除最后一个元素(也就是最大的元素),然后重复……

有比multiset更适合的container吗?

网友回复:帮顶!~
网友回复:只要求删除最大数的话,用std::priority_queue.
但若要求其他数也要排好序,multiset正合适.
网友回复:假如追求效率的话,自己实现一下数据结构的堆排序中的"堆"即可.
假如讲究通用性的话,SET就行,它的底层是RB-TREE,效率也很高.
网友回复:楼主说的数据结构明显是一个最大堆,晕,算法导论里面有,很轻易实现的
网友回复:
引用 2 楼 hastings 的回复:
只要求删除最大数的话,用std::priority_queue.
但若要求其他数也要排好序,multiset正合适.

用std::priority_queue
multiset不适合.
关键字:快速,删除,multiset,最后,一个,

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面