Почему Instant выводит разные значения при печати после каждого другого? [закрыто]

Нет; сбалансированное дерево не нужно хранить количество потомков каждого узла, что требуется для более быстрого вычисления distance( s.begin(), iter ) для std::set s и итератора iter (что, как вы полагаете, означает). Поэтому информация просто не существует, кроме как путем подсчета элементов по одному.

Если вам нужно выполнить много таких вычислений, скопируйте set в отсортированную последовательность случайного доступа, такую ​​как vector или deque, но затем модификация последовательности становится дорогой.

Структура дерева данных, которая делает то, что вы просите, вероятно, существует в свободной библиотеке где-то, но я не знаю об этом.

-13
задан Community 10 January 2018 в 20:49
поделиться