如何按排序顺序插入

时间:2013-05-15 16:48:06

标签: c++ insert find std c++-standard-library

我知道std::find()有助于找到给定值的迭代器位置。并且std::insert()将一个给定值插入到已知位置的容器中。

但是,是否有任何我可以调用的函数,它会根据标准库中的字母顺序返回应该插入新值的位置?

例如,如果队列是A23,A34,B59,D49。 如果补充C50,则像std::foo()这样的函数返回B59和D49之间的位置。那么我可以打电话给std::insert()来完成工作吗?

1 个答案:

答案 0 :(得分:0)

函数对std::lowerboundstd::upperbound将为您提供一个插入点的迭代器,该插入点将按顺序保持向量。如果已存在具有相同值的元素,lowerbound将在现有值的前面给出插入点,而upperbound将给出后面的点。如果您想要稳定排序,请使用upperbound