问题描述
为什么多集是一个集合,而一个集只能包含不同的元素,而多集却可以包含相同的元素呢?它可以仅称为sortedArray
或sortedList
。即使只需要排序的“集合”,为什么也要集合呢?
解决方法
为什么要多套一套
在数学中,set和multiset有两个不同的概念。标准库有两个为这些概念建模的容器:std::set
和std::multiset
。这些概念不相同,因此容器名称也不同,因为它们为不同的数学概念建模。
为什么要多套[...]
不是。单词“ set”确实出现在“ multiset”中,但不会使multiset成为一个集合。多重集是集合的概括,不一定是集合本身。这种语言设置类似于hypergraph(是图的概括,但不一定是图),以及hyperplane(是平面的概括,但不一定是平面)。>
一个不那么数学的例子是penultimate,它不是“最终”字词,也不是带有前缀的任何其他词,其前缀会改变词根的含义。
也许“蝴蝶”和“蜻蜓”是适当的例子。尽管两个名称中都出现了“苍蝇”一词,但苍蝇都不是。 (因此,黄油或龙糖都不是。)有时候,名字只是一个名字。