priority_queue<int> pq 里已有 5、3、2 三个数(5 在堆顶)。想把其中的 5 改成 9,使堆里变成 9、3、2,下列做法正确的是( )。
- A. 先用
pq.top()取出 5 并pq.pop()弹掉,再pq.push(9)压回 - B. 执行
pq.top() = 9;直接改堆顶 - C. 调用
pq.update(5, 9);一句完成替换 - D. 直接
pq.push(9);,旧的 5 会被新值顶掉
priority_queue<int> pq 里已有 5、3、2 三个数(5 在堆顶)。想把其中的 5 改成 9,使堆里变成 9、3、2,下列做法正确的是( )。
pq.top() 取出 5 并 pq.pop() 弹掉,再 pq.push(9) 压回pq.top() = 9; 直接改堆顶pq.update(5, 9); 一句完成替换pq.push(9);,旧的 5 会被新值顶掉