라이브러리

[PHP] SplPriorityQueue::extract - 힙 상단에서 노드를 추출하고 분류합니다.




SplPriorityQueue::extract

PHP의 `SplPriorityQueue` 클래스는 우선순위 큐를 구현한 클래스입니다. 우선순위 큐는 데이터를 저장하고, 가장 높은 우선순위를 가진 데이터를 먼저 꺼내는 자료구조입니다. `SplPriorityQueue` 클래스는 이 우선순위 큐를 구현한 클래스로, 데이터를 저장하고, 꺼내는 기능을 제공합니다.

`SplPriorityQueue::extract` 메서드는 우선순위 큐에서 가장 높은 우선순위를 가진 데이터를 꺼내는 메서드입니다. 이 메서드는 우선순위 큐에서 데이터를 꺼내는 기능을 제공하며, 꺼내는 데이터의 우선순위도 함께 반환합니다.

사용법


`SplPriorityQueue::extract` 메서드를 사용하려면 우선순위 큐를 생성하고, 데이터를 추가해야 합니다. 데이터를 추가할 때, 데이터의 우선순위를 함께 지정해야 합니다. 우선순위는 데이터의 우선순위를 나타내는 값으로, 데이터의 우선순위를 나타내는 숫자 또는 문자열을 지정할 수 있습니다.

#hostingforum.kr
php

$queue = new SplPriorityQueue();

$queue->insert('apple', 3);

$queue->insert('banana', 2);

$queue->insert('orange', 1);



위 예제에서는 우선순위 큐를 생성하고, 'apple', 'banana', 'orange' 데이터를 추가합니다. 데이터의 우선순위는 3, 2, 1로 지정됩니다.

예제


#hostingforum.kr
php

$queue = new SplPriorityQueue();



// 데이터 추가

$queue->insert('apple', 3);

$queue->insert('banana', 2);

$queue->insert('orange', 1);



// 데이터 꺼내기

$data = $queue->extract();

echo "꺼낸 데이터: $data
";

echo "꺼낸 데이터의 우선순위: " . $queue->getExtractedPriority() . "
";



// 데이터 추가

$queue->insert('grape', 4);



// 데이터 꺼내기

$data = $queue->extract();

echo "꺼낸 데이터: $data
";

echo "꺼낸 데이터의 우선순위: " . $queue->getExtractedPriority() . "
";



위 예제에서는 우선순위 큐를 생성하고, 데이터를 추가합니다. 데이터를 추가할 때, 데이터의 우선순위를 함께 지정합니다. 데이터를 꺼내는 메서드는 `extract` 메서드입니다. 꺼내는 데이터의 우선순위를 확인하려면 `getExtractedPriority` 메서드를 사용합니다.

결과


#hostingforum.kr


꺼낸 데이터: orange

꺼난 데이터의 우선순위: 1

꺼낸 데이터: banana

꺼난 데이터의 우선순위: 2

꺼낸 데이터: apple

꺼난 데이터의 우선순위: 3

꺼낸 데이터: grape

꺼난 데이터의 우선순위: 4



위 결과에서는 우선순위 큐에서 데이터를 꺼내는 예제를 확인할 수 있습니다. 데이터를 꺼내는 순서는 우선순위에 따라 결정됩니다. 데이터의 우선순위가 낮은 데이터가 먼저 꺼내집니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 205 페이지

검색

게시물 검색