
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