
SplDoublyLinkedList::shift 함수는 이전 요소의 포인터를 업데이트하는 작업을 수행하지 않습니다.
이전 요소 B의 포인터를 NULL로 업데이트하려면, 직접 이전 요소 B의 포인터를 업데이트해야 합니다.
예를 들어, 링크드 리스트가 다음과 같이 구성되어 있다고 가정해 보겠습니다.
A -> B -> C -> D
이때, SplDoublyLinkedList::shift 함수를 호출하여 첫 번째 요소 A를 제거하면, 이전 요소 B의 포인터는 NULL로 업데이트되어야 합니다.
이전 요소 B의 포인터를 NULL로 업데이트하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$linked_list = new SplDoublyLinkedList();
$linked_list->push('A');
$linked_list->push('B');
$linked_list->push('C');
$linked_list->push('D');
$firstElement = $linked_list->shift();
// 이전 요소 B의 포인터를 NULL로 업데이트합니다.
$linked_list->offsetSet(0, null);
print_r($linked_list);
이 코드를 실행하면, 이전 요소 B의 포인터가 NULL로 업데이트되어 링크드 리스트의 구조가 다음과 같이 변경됩니다.
B -> C -> D
이전 요소 B의 포인터를 NULL로 업데이트하는 방법은 위와 같이 직접 이전 요소 B의 포인터를 업데이트해야 합니다.
2025-04-01 07:18