가이 같은 연결리스트 통과 할 수있는 경우에 궁금 :C++에서 단일 연결리스트를 순회
currentNode = randomNode;//where randomNode may or may not = firstNode
prevNode = firstNode;
while(prevNode != currentNode && prevNode->link != currentNode)
{
prevNode = prevNode->link;
}
내가 노드를 찾기 위해 노력하고 때 C++에서이 작업을 수행하는 것이 가능을 단일 링크 된 목록에서 currentNode보다 먼저?
나는 콘솔 앱에서 학교 과제를 위해 이것을 구현하려고하는데, 내가 부스트 라이브러리 /리스트/인생 등을 더 쉽게 만드는 어떤 것도 쓸 수 없다고 가정한다. 그래서 기본적으로, 나는 단지 상당히 원시적 인 데이터 유형과 라이브러리를 사용할 수 있습니다.
"궁금한 점"을 시도해보고 작동 방식을 확인하는 이유는 무엇입니까? 난 당신이 항상 적어도 하나의 노드를 가지고 있으며,'randomNode'가리스트에서 유효한 노드라는 것을 보장한다고 가정 할 때 (여기서 "off"를 결코 실행하지 않을 것입니다) 여기에는 아무런 문제가 없습니다. –
정확히하고 싶습니까? 연결된 목록에서 노드를 검색 하시겠습니까? – Ashwin
while 조건이 조금 이상해 보입니다 ... 왜 prevNode! = currentNode?또한 목록이 비어있을 수 있습니까? currentNode가리스트에 존재하지 않을 수 있습니까? –