如何按排序顺序插入
how to insert in sorted order
我知道std::find()
有助于找到给定值的迭代器位置。std::insert()
将给定值插入到容器的已知位置。
然而,是否有任何函数我可以调用返回哪个位置一个新的值应该插入到根据字母顺序在标准库?
例如队列为A23, A34, B59, D49。如果是补C50,那么像std::foo()
这样的函数返回B59和D49之间的位置。那么我可以调用std::insert()
来完成这项工作吗?
std::lowerbound
和std::upperbound
函数将为您提供指向插入点的迭代器,该迭代器将保持向量的排序顺序。如果具有相同值的元素已经存在,则lowerbound
将在现有值的前面给出插入点,而upperbound
将在其后面给出插入点。如果需要稳定的排序,请使用upperbound
。
相关文章:
- 如何按数字顺序插入链表节点?
- 二叉树级别顺序插入 c++
- 按相反顺序插入矢量
- C++ 双向链表 - 插入同时保持递增顺序
- 在插入顺序已知时填充 Eigen3 稀疏矩阵的策略
- 如何修改函数以按C++的排序顺序插入每个项目
- 链接列表并按字母顺序插入字符串
- 按排序顺序将节点插入链表
- 在std ::或std :: unordered_set上保存插入顺序
- Unordered_set如何确定C 中的插入顺序
- 通过索引快速搜索,并将插入顺序保持在C 中
- 在STD :: MultiSet中维护插入顺序
- c++设置了保持插入顺序的数据结构
- 如何按插入顺序从映射中检索元素
- 我读了map.erase(map.end());删除地图的最后一个元素。但是最后一个元素是什么?它是否基于元素的插入顺序?
- 插入顺序std::map
- c++标准库是否有按插入顺序排序的集合
- 如何在yaml cpp中保持插入顺序
- STL容器,保留插入顺序,但不允许重复
- Q图形项目插入顺序