Если вы ограничиваете данные неперекрывающимися сегментами, вы можете использовать функции двоичного дерева <search.h>
tsearch
/ tfind
и т. Д., В качестве которых в качестве ключей используются кортежи целочисленных интервалов.Предоставленная функция сравнения легко поместила бы полный порядок на сегменты.Чтобы найти сегмент, который включает данную точку, tfind
для синтетического интервала ширины 0.