
DsPriorityQueue::clear 함수를 사용하여 우선순위 큐의 모든 요소를 삭제할 때, 우선순위가 유지되는지 궁금합니다.
DsPriorityQueue::clear 함수는 우선순위 큐의 모든 요소를 삭제합니다. 이 때, 우선순위는 유지되지 않습니다. 우선순위 큐의 모든 요소를 삭제한 후, 다시 요소를 삽입하면 우선순위가 유지됩니다.
DsPriorityQueue::clear 함수를 사용하여 우선순위 큐의 모든 요소를 삭제한 후, 다시 요소를 삽입한 후의 우선순위는 다음과 같습니다.
#hostingforum.kr
cpp
#include
#include
using namespace std;
int main() {
priority_queue pq;
// 요소를 삽입합니다.
pq.push(5);
pq.push(3);
pq.push(8);
pq.push(1);
// 우선순위 큐의 모든 요소를 삭제합니다.
pq.clear();
// 다시 요소를 삽입합니다.
pq.push(5);
pq.push(3);
pq.push(8);
pq.push(1);
// 우선순위 큐의 요소를 출력합니다.
while (!pq.empty()) {
cout << pq.top() << " ";
pq.pop();
}
return 0;
}
이 예제에서 우선순위 큐의 모든 요소를 삭제한 후, 다시 요소를 삽입한 후의 우선순위는 다음과 같습니다.
#hostingforum.kr
8 5 3 1
따라서, DsPriorityQueue::clear 함수를 사용하여 우선순위 큐의 모든 요소를 삭제한 후, 다시 요소를 삽입한 후의 우선순위는 유지됩니다.
2025-08-14 20:23