그래서 목록에서 올바른 순서로 요소를 삽입하는 삽입 함수를 구현하는 중입니다.iterator 아무 이유없이 iterating입니다 C++
로 내 입력은 간다 : 나는이 목록의 시작 부분에 내 반복자 점을함으로써 시작하고 각 개체를 반복
J Y Z
:
b.insert('Z');
b.insert('J');
b.insert('Y');
과해야 출력으로 왜 그걸 입력 할 정확한 위치를 찾을 때까지. 나는 그 이유를 이해하지 못한다. 그러나 내가 반복으로 시작할 때, 그것은 루프에 들어가기 전에 한 지점 앞으로 뛰어 오른다.
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
대신이 somone에이 문제를 일으키는 먹으 렴 일이 뭐죠 말해 줄 수
itr now: Z
itr now: Z and J
itr now: J
itr now: Z and Y
으로 나온다?
문제를 [SSCCE] (http://sscce.org/)로 줄이십시오. 'elem'이란 무엇입니까? '//다른 것들을 잔뜩합니까? ' 두 번째 라인은 어떻게 다시 도달합니까? 이 코드는 이러한 중요한 질문에 대답하지 않습니다. – Mankarse
@Mankarse는 OP에 복사/붙여 넣기하기에는 너무 많은 코드입니다. '//다른 것들을 다룬다 '는 항목은'itr-> getItem()'과 비교했을 때 어느 항목이 맞는 지 거의 확인하고 그것을'insert'로 그 영역에 삽입합니다. 루프에 들어가기 전에'J'를 인쇄하기 때문에 그 부분에 문제가 있다고 생각하지 않습니다.하지만 한번 입력하면'Z'가됩니다. – SNpn
게시하지 않으면 도움을 줄 수 없습니다. 완전한 예. –