Как известно большинству людей, Set Container на C++ обычно реализуется как красно-черное дерево, а при итерации по контейнеру записи выходят в порядок, и это может быть использовано.Red Black tree with pagenation
Я бы, однако, хотел бы сделать pagenation на итерации контейнера, forinstance если контейнер containes:
set<int> set;
// insert some data
for(auto s : set)
cout << s << " " << endl;
1, 3, 5, 7, 9, 11, 13, 15
Я хотел бы йи запрос диапазона на контейнер range(2,5)
yealding: вектор 3, 5, 7
, это кажется невозможным делать с множеством, можно ли разбивать страницы на любой из контейнеров STL, или это случай, когда вы должны реализовать его самостоятельно?
Ok, теперь, когда я понимаю ваш вопрос (я думаю), будет [ 'станд: next'] (HTTP://en.cppreference.com/w/cpp/iterator/next) и/или ['std :: advance'] (http://en.cppreference.com/w/cpp/iterator/advance) на основе' std: : begin (s) 'предоставить вам то, что вы ищете? Я * думаю * может. – WhozCraig
Я сомневаюсь, что вы найдете способ сделать это, принимая меньше, чем линейное время в стандартной библиотеке, но это не сложно реализовать самостоятельно. – Dukeling