
SplDoublyLinkedList::pop 메서드는 Doubly Linked List에서 마지막 요소를 제거하는 데 사용됩니다. 이 메서드의 동작 방식은 다음과 같습니다.
- 마지막 노드를 제거합니다.
- 이전 노드를 새롭게 마지막 노드로 설정합니다.
- 이전 노드의 이전 노드는 그대로 유지됩니다.
예를 들어, Doubly Linked List의 노드가 다음과 같이 있다고 가정해 보겠습니다.
1 -> 2 -> 3 -> 4 -> 5
이 경우, pop 메서드를 호출하면 Doubly Linked List는 다음과 같이 바뀝니다.
1 -> 2 -> 3 -> 4
이 때, 이전 노드의 이전 노드는 1이 아닌 2가 됩니다. 이전 노드의 이전 노드는 그대로 유지되기 때문입니다.
이러한 부분에 대해 더 자세한 설명이 필요하시면, Doubly Linked List의 노드가 가지고 있는 이전 노드와 다음 노드의 포인터를 업데이트하는 과정을 살펴보면 이해가 될 것입니다.
예를 들어, Doubly Linked List의 노드가 다음과 같이 있다고 가정해 보겠습니다.
1 -> 2 -> 3 -> 4 -> 5
이 경우, 노드 5가 마지막 노드이므로, 노드 4의 다음 노드 포인터가 노드 5를 가리키고, 노드 5의 이전 노드 포인터가 노드 4를 가리킵니다.
pop 메서드를 호출하면, 노드 5가 제거되고, 노드 4의 다음 노드 포인터가 노드 5가 가리켰던 노드 (노드 3)를 가리키게 됩니다. 노드 4의 이전 노드 포인터는 그대로 유지되기 때문에, 노드 4의 이전 노드 포인터는 여전히 노드 3을 가리킵니다.
따라서, 이전 노드의 이전 노드는 1이 아닌 2가 됩니다.
2025-07-21 21:26