나는 연산자를 오버로드하려고합니다. 와 T 정보 nodeType에 * 링크 (단독 목록을 연결하는 친구입니다)연산자 - 연결된 목록에
반복자 클래스 :
내가 가진 노드 클래스가 nodeType에 * 첫째 nodeType에 * 현재 부울 offTheEdge을
Singly Linked List 클래스 : * 첫 번째 * 마지막
나는 operator ++ 메소드를 성공적으로 수정했으며 모든 테스트를 통과했습니다. 다음과 같이 코드는 다음과 같이
if(offTheEdge == true)
{
return *this;
}
else
{
if(current->link == NULL)
{
offTheEdge = true;
return *this;
}
else
{
current = current->link;
}
}
return *this;
내 지시 사항은 다음과 같습니다 같은 연산자 ++,하지만 거꾸로 가고있다. 단일 링크 된 목록에서 뒤로 이동하기 은 처음부터 시작하여 this-> current가되는 노드를 식별해야 함을 의미합니다.
나는 무엇을 도와 드릴까요, 내가 이전 요소를 얻을 수 없으며 거꾸로 작동합니다. 고맙습니다!
operator--에 대한 나의 코드는 다음과 같습니다 내 목록이 2,4,6,8,101214161820입니다
ListIterator<T> temp;
temp.current = first;
while(temp.current->link != this->current)
{
temp.current = temp.current->link;
}
return temp;
경우 .... 그것은 20 매번 반환
지침에 따라 기본적으로 정확히 무엇이 수행되는지 알려줍니다. "처음부터 시작해야하고, 현재 -> 현재의 노드 뒤에있는 노드를 식별해야합니까? 지금까지 가지고있는 것을 보여줄 수 있습니까? – GWW
전체 목록을 반복하십시오 util'current-> link == oldCurrent' – goji
즉, 'head'에서 시작하여 루프를 사용해야합니다. – Adam