我需要将离散范围存储在一个集合中,并在插入时连接相邻范围。 STL中是否有结构已经具有这样的功能?
我已经尝试过 boost::intervals,但它很重,而且对于我正在尝试做的事情来说有点矫枉过正。
例如,假设集合为空并插入了以下元素:
[64, 96]
[0, 4]
[11, 15]
[5, 10]
区间集合的预期内容应该如下:
[0, 15]
[64, 96]
最佳答案
这是一个众所周知的问题。有一个 wikipedia page关于您问题的可能解决方案。当然,在 C++ STL 中,您可以使用 std::map
实现基于 Naive 方法的解决方案,在维基百科中有解释,因为映射是红黑树,是一种二进制搜索树。
关于c++ - 是否有用于存储离散间隔的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55646605/