Эквивалентность двух алгоритмов с использованием итераторов назад и впередC++

Программы на C++. Форум разработчиков
Anonymous
Эквивалентность двух алгоритмов с использованием итераторов назад и вперед

Сообщение Anonymous »

данный < /p>

Код: Выделить всё

struct pt{int x,y;};
auto cmpSet = [](pt a, pt b) { return a.x
- < /p>
if(upper==s.begin()) continue;
auto it= std::prev(upper);
while(it!=s.end() && (*it).y
и < /p>
if(upper==s.begin()) continue;
auto it = std::make_reverse_iterator(upper);
while (it != s.rend() && (*it).y 
обязательно эквивалентно? У меня есть основания полагать, что они тоже нет. Причина в том, что когда я отправляю эти два кода: вперед против обратного наперма судье по алгоритму,  [b] вперед [/b]  принимается, и  [b] [/b]  получает  [b] runtime [/b] . Нет других 3D -точек, так что нет другого момента, который имеет больше x, больше Y и меньшего размера Z во времени  O (n) = nlogn . Это происходит путем заказа в направлении z и сохраняя подобную минштаке структуру с помощью std :: set 
, которая представляет текущую границу в плоскости XY.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -iterators

Вернуться в «C++»