2016-10-13 4 views
-1

루프 조건 내에서 단일 목록을 탐색하는 동안 temp! = NULL과 temp-next! = NULL의 차이점은 무엇입니까? 단일 목록 이동

while(temp->next != NULL) 
    { 
     ...... 
     ...... 
    } 

를 들어
while(temp != NULL) 
    { 
     ...... 
     ...... 
    } 

나는 둘 사이의 차이를 이해하지 않습니다.

답변

0

이 대답은 temp가 연결된 목록의 노드라고 가정합니다.

temp->next != NULL은 임시 이후 노드가있을 때 (즉, 임시 노드가 목록의 마지막 노드가 아닌 경우) true를 반환합니다. 우리가 temp = a->next 할 경우 다음 온도가 B입니다

a -> b -> c -> NULL 

temp->next != NULL은 B 다음에 오는 C (하지 NULL) 이후 true로 평가 : 예를 들어,이 목록을 고려하십시오.

temp != NULL은 임시 자체가 목록의 노드 일 때 true를 반환합니다. 어떤 이유로 든 목록에서 너무 멀리 횡단 한 경우에는 그렇지 않을 수 있습니다. 위와 같은 목록 사용 : temp = c->next을 수행하면 temp != NULL은 false로 평가됩니다. 다음과 같은리스트의 차이가 있음을 이해

은 : 온도가 온도 후의 노드가 NULL이 될 때까지

  • while(temp->next != NULL)
  • 실행 NULL 때까지

    • while(temp != NULL)...가 실행