我有间隔,分区为大量较小的分区.
没有任何空格也没有任何重叠的间隔.
例如:(0;600)分为:
(0;10>(10;25>(25;100>(100;125>(125;550>(550;600)现在我有大量的值,我需要获得每个值的分区ID.我可以存储将此区间划分为更小间隔的值数组.但是如果所有值都属于最后一个分区,那么它需要通过整个数组.
所以我正在寻找存储这些间隔的更好的解决方案.我想简单 - 最大cca 150行长度算法,我不想使用除std之外的任何库.
由于分区中没有"空格",因此每个分区的末尾都是冗余的(它与下一个分区的开头相同).
由于您对分区列表进行了排序,因此您可以简单地使用二进制搜索std::upper_bound.
编辑:更正(upper_bound,不是lower_bound).
| 归档时间: |
|
| 查看次数: |
319 次 |
| 最近记录: |