【发布时间】:2013-02-09 12:06:24
【问题描述】:
所以我有一个向量,我希望元素始终被排序。我应该如何将元素插入该向量并在弹出元素时保持元素排序。我查看了std::lower_bound,然而,这与我想要的相反。
例如,这就是我想要的:当我弹出向量中的所有元素时,它应该是:
1 2 3 4 5。这意味着向量必须将它们存储为 5 4 3 2 1。如果使用下限,向量将它们存储为 1 2 3 4 5,并弹出为 5 4 3 2 1。另外,将传入一个比较函子,以便lower_bound 函数使用比较函子。有没有办法与比较函子相反?
【问题讨论】:
-
顺便说一句,
std::set保持排序,但不能有重复项(请参阅std::multiset)。至于取反,有std::not1。 -
也许您使用了错误的容器。看这里:stackoverflow.com/a/471461/78845
标签: c++ sorting vector insertion-sort