priority_queue去除制定的数字
时间: 2023-11-03 17:06:31 浏览: 31
使用priority_queue去除指定数字可以通过以下步骤实现:
1. 创建一个空的priority_queue。
2. 将所有不等于指定数字的元素添加到priority_queue中。
3. 从priority_queue中取出所有元素,并将它们添加到一个新的vector中。
下面是一个示例代码实现:
```c++
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int main() {
int target = 3; // 指定数字
priority_queue<int, vector<int>, greater<int>> pq; // 小顶堆
vector<int> nums = {1, 2, 3, 4, 3, 5, 3};
// 将所有不等于指定数字的元素添加到priority_queue中
for(int num : nums) {
if(num != target) {
pq.push(num);
}
}
// 从priority_queue中取出所有元素,并将它们添加到一个新的vector中
vector<int> result;
while(!pq.empty()) {
result.push_back(pq.top());
pq.pop();
}
// 输出结果
for(int num : result) {
cout << num << " ";
}
cout << endl;
return 0;
}
```
输出结果为:1 2 4 5,即去除了所有值为3的元素。