【发布时间】:2016-05-14 12:05:19
【问题描述】:
在 C++ 中,我有一个 STL multiset<int, cmp>。我定义了一个自定义比较运算符,所以两个不同的整数仍然可以比较相等。在这种情况下,当它们相等时,如何更改集合中两个整数的内部顺序?
我读到了向多重集添加第二个值的选项,并根据我想要的顺序设置它的值,但是,这似乎相当复杂。有没有更简单的解决方案,例如按特定顺序擦除和插入这两个元素?
【问题讨论】:
-
A
set只接受独特的元素。如果插入1和2和cmp表示它们相等,则不会插入2。也许您正在寻找multi_set? -
内部顺序是什么?一个集合中不能有两个相等的元素。
-
是的,你是对的。多集就是我的意思,谢谢:)