更改STL多集中两个相等元素的顺序

时间:2016-05-14 12:05:19

标签: c++ stl set

在C ++中,我有一个STL multiset<int, cmp>。我定义了一个自定义比较运算符,因此两个不同的整数仍然可以比较相等。鉴于这种情况,当它们相等时,如何更改集合中两个整数的内部顺序?

我读到了为multiset添加第二个值并将其值相应地设置为我想要的顺序的选项,但是,这看起来相当复杂。是否有更简单的解决方案,例如按特定顺序擦除和插入两个元素?

1 个答案:

答案 0 :(得分:2)

重新排序元素的唯一方法是删除一个并重新插入它。

将多个元素插入到多个集合中时,添加的元素将在现有元素之后,或者您可以使用带有提示的insert函数来控制元素重新插入的位置。