问题标签 [multiset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 确保在对象更改时重新排序多集
我有一个带有自定义谓词函数的多重集,例如multiset<MyClass *,MyCompFunc>
MyCompFunc 查看 MyClass 对象的属性。在应用程序的过程中,对象可能会以某种方式发生变化,从而导致它们被重新排序。
发生这种情况时,让多重集重新排序的正确方法是什么?手动排序,还是删除修改的对象,更新,重新插入?
c++ - 如何在不构造 key_type 对象的情况下在 std::multiset 中进行二进制搜索?
我有一个这样的容器:
现在,如果我想在 time 之前获取最后一个数据对象t
,我可以创建一个虚拟对象并调用upper_bound()
:
这给了我对数搜索的复杂性。
除了看起来笨拙之外,如果这样的虚拟对象很难创建(不是运行时性能,而是编码工作),这种方法是有问题的。
我看过std::multiset::key_comp
但我不知道如何使用它。
两者都std::multiset::find()
希望std::binary_search()
我给他们容器key_type
,即TimeSortableData
对象...
如何在无需创建虚拟对象的情况下进行有效搜索?
评论更新:
还有find_if()
:它可以让我省去创建虚拟对象的工作,但代价是 O(n) 复杂性。
c++ - GCC Tree STL 数据容器
可能重复:
remove_if 等效于 std::map
昨天我写了一个程序,它使用 multiset 来存储这样的元素:
然后我尝试使用remove_if
这样的标准算法:
但是编译失败,因为如果我们在 GCC 4.4 中看到 set 和 multiset 的实现,我们会看到:
我感到震惊。我用谷歌搜索了这一刻,发现这与标准并不矛盾。套装也是一样。
如果标准算法不起作用,这怎么能矛盾?我怎样才能更好地更换容器?
java - 按元素频率顺序遍历多重集的最简单方法?
考虑这个打印出一些设备类型统计信息的例子。(“DeviceType”是一个包含十几个值的枚举。)
按频率顺序(最常见的类型优先) 打印不同元素的最简单、最优雅的方法是什么?
快速浏览一下Multiset
界面,没有现成的方法可以做到这一点,而且 Guava 的Multiset
实现(HashMultiset
、TreeMultiset
等)似乎也没有自动保持元素的频率排序。
c++ - 没有比较的多集?
我想用来multiset
计算一些自定义键。键在数字上不可比较,比较两个键没有任何意义,但可以检查它们的相等性。
我看到该multiset
模板想要Compare
订购多重集。顺序对我来说并不重要,重要的是数量。如果我完全省略Compare
会发生什么?多重设置对我的自定义键没有任何问题吗?如果我不能使用std::multiset
我的替代方案是什么?
gridview - 多选模式下 DevExpress WinForms GridView 中没有默认选定行
我有一个 WinForms DevExpress GridControl,在多选模式下带有单个简单的 gridview。第一次显示时没有默认选择的行。在单选模式下一切正常。GridControl 通过绑定获取用于显示的数据。可能是,这是一个错误?你能帮助我吗?
math - 多项式集
我在解决这个问题时遇到了问题,它类似于组合非唯一字母集,但略有不同。
令 k、m 和 n 为正整数。我们有 nm 个球、m 个颜色、n 个球和 k 个唯一标记的 bin。有多少种不同的方法可以选择 n 个球放入 k 个袋子中?
例如,如果 m = 3,n = k = 2,则结果为 21。有 3 种颜色,我们从总共 6 个球中选择 2 个球放入 2 个箱中。
(-, WW), (-,WR), (-, WB) ...
(WW, -), (WR, -) ...
(W,W), (W,R) ...
(B,W), (B,R) ...
这个问题的正常版本不需要选择全部元素的子集。这个问题产生 n! /× 1!× 2!× 3!...其中 x 1, x 2, x 3是重复字母组。
校正(清晰度)-> 你总共有 nm 个球。每种颜色的n个球,其中有m种颜色;然后,您从这里随机选择这些总共 nm 个球中的 n 个,并将它们放入 k 个不同的箱中。
algorithm - 用于查询给定子集是否存在于集合集合中的数据结构
我正在尝试为文字游戏求解器构建数据结构。
我需要存储大约 150,000 组 {A, A, D, E, I, L, P, T, V, Y} 形式的集合。(它们是规范化的英文单词,即已排序的字符。注意这是一个多重集,可以包含两次相同的字母。)
需要有效地获得对以下类型查询的是/否答案:是否有任何具有给定子集的集合?例如,是否有任何已知单词包含集合 {D, E, I, L, L, P}?
要求:
- 查询必须快速
- 数据结构应适合合理的空间量(例如 <50 MB)
- 数据结构不需要实时构建;它是预先计算的。
是否有任何数据结构可以很好地满足这种需求?这与 StackOverflow 上的其他 集合匹配问题略有不同,因为目标集合实际上是多集合。
stl - STL 迭代器是否返回 const 对象?
自从我们使用 STL 以来已经有很长时间了,因此我们将不胜感激。不知道我们在这里做错了什么......鉴于此,为什么这段代码会引发错误:
“你不能分配给 const 的变量”
stl - 多集到向量,C++
如何尽快将 std::multiset 中的最后 k 个项目以相反的顺序复制到 std::vector?