Эквивалентность двух алгоритмов с использованием итераторов назад и вперед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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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