显然你可以做任何一个,但前者更常见。
你为什么会选择后者,它是如何工作的?
我读到这个:http ://www.drdobbs.com/cpp/stls-red-black-trees/184410531 ;这让我觉得他们做到了。它说:
insert_always 是一个状态变量,它告诉 rb_tree 是否允许同一键值的多个实例。此变量由构造函数设置,并由 STL 用于区分 set 和 multiset 以及 map 和 multimap。set 和 map 只能出现一次特定键,而 multiset 和 multimap 可以出现多次。
虽然现在我认为这并不一定意味着。他们可能仍在使用容器。
我认为具有相同键的所有节点都必须排成一行,因为您必须将所有具有相同键的节点存储在右侧或左侧。因此,如果您将相等的节点存储在右侧并插入 1000 个 1 和一个 2,那么您基本上会有一个链表,这会破坏红黑树的属性。
为什么我找不到太多关于它的原因是它只是一个坏主意?