2013-04-25 2 views
-4

그래서 나는 문제 를 해결하고 우리는머리글을 연결된 목록의 Node * ptr과 동일하게 설정한다는 것은 무엇을 의미합니까?

그래서 코드가 나는 개념적 혼란이기 때문에

void LinkedList::deletemiddleNode() 
{ 
    Node *pointer = head; 
    ... 
} 

내가 혼란 스러워요 이유는 같은 시작 더미 노드를 사용할 수 없습니다. 더미 노드가 없으므로 헤더 노드의 prev는 NULL으로 설정되고 tail 노드의 다음 노드는 NULL으로 설정됩니다. 그래서 그림에서 그 포인터가 가리키는 점을 어떻게 기술하겠습니까? 머리를 가리키는 포인터가있는 것처럼? 그렇다면 NULL인데 pointer-> prev-> next는 사용할 수 없지만 예제 솔루션에서는이를 사용합니다 ...?

+1

당신이 말했습니다. 당신은 개념적으로 혼란스러워합니다! 연결된 목록에 대해 읽으십시오 : 그들이 무엇인지, 어떻게 작동하는지 등등 ... 그러면이 답변을 이해할 것입니다 ...! – IcyFlame

답변

4

그림을 그리셨습니까? 어때 이런 식으로 :

변수 headnode 개체를 가리키며 어딘가에 메모리가 있다고 가정 해 보겠습니다. 그것은 다음과 같은 :

 
+------+  +------------------+ 
| head | ---> | some node object | 
+------+  +------------------+ 

그런 다음 다른 포인터, pointer 이름과 head에서 값을 여기에를 할당을 선언합니다.

 
    +------+  
    | head | ---. 
    +------+ |  +------------------+ 
       >---> | some node object | 
+---------+ |  +------------------+ 
| pointer | ---' 
+---------+ 

아니면 내가 당신의 질문을 오해 오전 : 이제 pointer 메모리에 동일한 노드를 가리키는 때문에 head와 같은 값을 포함하고?

+0

덕분에 나는 그것을 검토했다. 그러나 질문받는 방식은 나에게 걸렸다 – windydys

+0

'M-x artist-mode' (c : –

0

위의 문장은 어떤 노드 객체를 가리 키도록 헤드 포인터를 설정하거나 초기화한다는 것을 의미하며 노드의 노드는 동일한 사용자 정의 데이터 유형입니다 !!!

관련 문제