개발자 Q&A

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

2025.07.25 10:09

DsPriorityQueue::peek() 함수 사용에 대한 질문

목록
  • 알고리즘광 1일 전 2025.07.25 10:09
  • 10
    1
DsPriorityQueue::peek() 함수를 사용하여 우선순위 큐의 가장 앞에 있는 요소를 조회할 수 있습니다. 하지만, peek() 함수는 요소를 제거하지 않고 반환합니다.

DsPriorityQueue::peek() 함수를 사용하여 우선순위 큐의 가장 앞에 있는 요소를 조회할 때, peek() 함수가 반환하는 요소의 참조를 사용하여 요소를 삭제할 수 있는 방법이 있는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    DsPriorityQueue::peek() 함수는 우선순위 큐의 가장 앞에 있는 요소를 조회할 때 사용됩니다. 하지만, 이 함수는 요소를 제거하지 않고 반환합니다.

    peek() 함수가 반환하는 요소의 참조를 사용하여 요소를 삭제하려면, 우선순위 큐에서 해당 요소를 제거하는 함수를 사용해야 합니다.

    예를 들어, DsPriorityQueue::remove() 함수를 사용하여 우선순위 큐에서 가장 앞에 있는 요소를 제거할 수 있습니다.

    remove() 함수를 사용하여 요소를 제거하면, peek() 함수로 조회한 요소의 참조를 사용하여 요소를 삭제할 수 있습니다.

    DsPriorityQueue::peek() 함수와 remove() 함수를 함께 사용하여 우선순위 큐의 가장 앞에 있는 요소를 조회하고 제거할 수 있습니다.

    예제 코드를 통해 이해를 돕겠습니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        DsPriorityQueue pq;
    
    
    
        // 우선순위 큐에 요소를 삽입합니다.
    
        pq.insert(5);
    
        pq.insert(3);
    
        pq.insert(8);
    
        pq.insert(1);
    
    
    
        // peek() 함수를 사용하여 우선순위 큐의 가장 앞에 있는 요소를 조회합니다.
    
        int* front = pq.peek();
    
    
    
        // remove() 함수를 사용하여 우선순위 큐에서 가장 앞에 있는 요소를 제거합니다.
    
        pq.remove();
    
    
    
        // peek() 함수를 사용하여 우선순위 큐의 가장 앞에 있는 요소를 조회합니다.
    
        front = pq.peek();
    
    
    
        // 제거된 요소의 참조를 사용하여 요소를 삭제합니다.
    
        delete front;
    
    
    
        return 0;
    
    }
    
    


    위 예제 코드에서, peek() 함수를 사용하여 우선순위 큐의 가장 앞에 있는 요소를 조회한 후, remove() 함수를 사용하여 우선순위 큐에서 가장 앞에 있는 요소를 제거합니다. 제거된 요소의 참조를 사용하여 요소를 삭제합니다.

    2025-07-25 10:10

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

검색

게시물 검색