如何按排序顺序插入

how to insert in sorted order

本文关键字:插入 顺序 排序 何按      更新时间:2023-10-16

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

然而,是否有任何函数我可以调用返回哪个位置一个新的值应该插入到根据字母顺序在标准库?

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

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