Один из способов сделать это - взять массив заказов и искать его как двоичное дерево.Начните с середины, если искомое число больше запрашиваемого, повторите в разделе 1/2 - 3/4 - 1, если оно меньше, повторите в разделе 0 - 1/4 - 1/2.
Сделайте это рекурсивным и возьмите подмножество массива.При первом вызове это будет весь массив, во втором - либо верхняя, либо нижняя половина идентификатора, а при третьем вызове это будет фактически одна четверть исходного ... и т.1003 *