原文:
priority queue 是容器适配器的一种类型,专门设计为队列的第一个元素是队列中所有元素中最大的,并且元素的顺序是非递增的(因此我们可以看到队列的每个元素都有一个优先级{固定顺序})
向量与动态数组相同,能够在插入或删除元素时自动调整自身大小,其存储由容器自动处理。向量元素被放在连续的存储中,这样就可以使用迭代器访问和遍历它们。
stl 中向量的优先级队列:向量的优先级队列在设计复杂的数据结构时非常有效。
语法:
priority_queue> pq;
例如:考虑一个简单的问题,我们必须打印队列中的最大向量。
// c program to demonstrate
// use of priority queue for vectors
#include
using namespace std;
priority_queue > pq;
// prints maximum vector
void print_maximum_vector(vector vec)
{
for (int i = 0; i < vec.size(); i ) {
cout << vec[i] << " ";
}
cout << endl;
return;
}
// driver code
int main()
{
// initializing some vectors
vector data_1{ 10, 20, 30, 40 };
vector data_2{ 10, 20, 35, 40 };
vector data_3{ 30, 25, 10, 50 };
vector data_4{ 20, 10, 30, 40 };
vector data_5{ 5, 10, 30, 40 };
// inserting vectors into priority queue
pq.push(data_1);
pq.push(data_2);
// printing the maximum vector till now
print_maximum_vector(pq.top());
// inserting vectors into priority queue
pq.push(data_3);
// printing the maximum vector till now
print_maximum_vector(pq.top());
// inserting vectors into priority queue
pq.push(data_4);
pq.push(data_5);
// printing the maximum vector till now
print_maximum_vector(pq.top());
return 0;
}
output:
10 20 35 40
30 25 10 50
30 25 10 50
麻将胡了pg电子网站的版权属于:月萌api www.moonapi.com,转载请注明出处