개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.21 16:24

SplPriorityQueue::top 메서드 사용에 대한 질문

목록
  • 프로토콜연구가 10일 전 2025.05.21 16:24
  • 30
    1
제가 SplPriorityQueue 클래스를 사용하여 우선순위 큐를 구현 중인데, top 메서드에 대해 궁금한 점이 있습니다.

top 메서드는 우선순위가 가장 높은 원소를 반환하는 메서드입니다. 하지만 이 메서드는 원소를 삭제하지 않고 반환합니다.

이 메서드는 우선순위가 가장 높은 원소를 반환하기만 하기 때문에, 이 메서드를 사용하면 우선순위가 가장 높은 원소를 삭제할 수 없을까요?

위의 내용은 SplPriorityQueue::top 메서드의 동작에 대한 확인이 필요합니다.

    댓글목록

    profile_image
    나우호스팅  10일 전

    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,095건 / 92 페이지

검색

게시물 검색