Поэтому я пытаюсь реализовать функцию вставки, которая вставляет элемент в правильном порядке в списке.
мой ввод выглядит как:
b.insert('Z');
b.insert('J');
b.insert('Y');
и должен выводить как:
J Y Z
Я начинаю с того, что указываю итератору в начале списка, а затем перебираю каждый объект, пока не найду правильное место для его ввода. Я не понимаю почему, но когда я начинаю с итерации, он прыгает вперед на одну точку после того, как входит в цикл.
class list < node<T>* >::iterator itr = bt->level().begin();
cout << "itr now: " << (*itr)->getItem() << endl;
while (itr != bt->level().end()) {
cout << "itr now: " << (*itr)->getItem() << " and " << elem << endl;
// do a bunch of other stuff
++itr;
}
мой вывод для этого должен выглядеть так:
itr now: Z
itr now: Z and J
itr now: J
itr now: J and Y
но вместо этого он выглядит как
itr now: Z
itr now: Z and J
itr now: J
itr now: Z and Y
может кто-нибудь сказать мне, что происходит, что вызывает эту проблему?