2013-05-15 74 views
0

我知道std::find()有助於找到給定值的迭代器位置。 std::insert()將已知位置的給定值插入到容器中。如何按排序順序插入

但是,有什麼函數可以調用哪個函數返回哪個位置的新值應該按照標準庫中的字母順序插入?

例如,如果一個隊列是A23,A34,B59,D49。 如果補充C50,則像std::foo()這樣的函數返回B59和D49之間的位置。那麼我可以打電話std::insert()完成這項工作?

回答

0

函數對std::lowerboundstd::upperbound將爲您提供一個插入點的迭代器,該插入點將按照排序順序保留向量。如果已經存在具有相同值的元素,則lowerbound將在現有值的前面提供插入點,而upperbound會將該點放在後面。如果您想要穩定排序,請使用upperbound