
SplPriorityQueue::top 메서드는 우선순위가 가장 높은 원소를 반환하지만, 원소를 삭제하지 않습니다. 이 메서드는 우선순위가 가장 높은 원소를 반환하기만 하기 때문에, 이 메서드를 사용하면 우선순위가 가장 높은 원소를 삭제할 수 없습니다.
만약 원소를 삭제하고 싶다면, SplPriorityQueue::extract 메서드를 사용해야 합니다. SplPriorityQueue::extract 메서드는 우선순위가 가장 높은 원소를 반환하고, 원소를 삭제합니다.
예를 들어, 다음과 같이 SplPriorityQueue::top 메서드를 사용하여 우선순위가 가장 높은 원소를 반환할 수 있습니다.
#hostingforum.kr
php
$pq = new SplPriorityQueue();
$pq->insert('apple', 5);
$pq->insert('banana', 3);
$pq->insert('cherry', 8);
$top = $pq->top();
print($top . "n"); // cherry
// 우선순위가 가장 높은 원소를 삭제하고 반환
$extracted = $pq->extract();
print($extracted . "n"); // cherry
위의 예제에서, SplPriorityQueue::top 메서드를 사용하여 우선순위가 가장 높은 원소를 반환하고, SplPriorityQueue::extract 메서드를 사용하여 우선순위가 가장 높은 원소를 삭제하고 반환합니다.
2025-05-21 16:25