
SplPriorityQueue::insert 메서드를 사용하여 우선순위 큐에 데이터를 삽입하는 방법은 다음과 같습니다.
1. 우선순위 큐에 데이터를 삽입하기 전에, 우선순위 큐의 INSERT_DATA 인스턴스를 생성해야 합니다. INSERT_DATA 인스턴스는 SplPriorityQueue 클래스의 인스턴스입니다.
#hostingforum.kr
php
$priorityQueue = new SplPriorityQueue();
2. insert 메서드의 두 번째 인자로 전달해야 하는 데이터는 우선순위 큐에 삽입됩니다. 데이터의 우선순위는 insert 메서드의 세 번째 인자로 전달해야 합니다. 우선순위는 숫자로 표현됩니다. 숫자가 작을수록 우선순위가 높아집니다.
#hostingforum.kr
php
$data = '데이터';
$priority = 1; // 우선순위
$priorityQueue->insert($data, $priority);
3. insert 메서드가 성공적으로 데이터를 삽입한 후, 해당 데이터가 우선순위 큐 내에서 정확히 어디에 위치하는지 확인하려면, 우선순위 큐의 current 메서드를 사용할 수 있습니다.
#hostingforum.kr
php
echo $priorityQueue->current(); // 데이터
echo $priorityQueue->key(); // 우선순위 큐 내에서 데이터의 위치
4. 우선순위 큐 내에서 데이터의 위치를 변경하려면, 우선순위 큐의 extract 메서드를 사용할 수 있습니다. extract 메서드는 우선순위 큐의 가장 높은 우선순위 데이터를 삭제하고, 해당 데이터를 반환합니다.
#hostingforum.kr
php
echo $priorityQueue->extract(); // 데이터
echo $priorityQueue->key(); // 우선순위 큐 내에서 데이터의 위치
SplPriorityQueue::insert 메서드의 동작 방식은 다음과 같습니다.
- 우선순위 큐에 데이터를 삽입할 때, 데이터의 우선순위가 가장 높을 때 우선순위 큐의 가장 앞에 위치합니다.
- 우선순위 큐 내에서 데이터의 위치는 우선순위에 따라 결정됩니다. 숫자가 작을수록 우선순위가 높아집니다.
- 우선순위 큐 내에서 데이터의 위치를 변경하려면, 우선순위 큐의 extract 메서드를 사용할 수 있습니다. extract 메서드는 우선순위 큐의 가장 높은 우선순위 데이터를 삭제하고, 해당 데이터를 반환합니다.
2025-06-02 08:54