在C++的标准模板库(STL)中,容器适配器是一种特殊类型的容器,它们提供了一种不同于常规容器的接口和功能。其中之一是priority_queue(优先队列),它是一个基于堆的容器适配器,可以用于存储元素,并按照一定的优先级进行访问和处理。本文将详细介绍priority_queue的嵌入式用法,并提供相应的源代码示例。
在使用priority_queue之前,我们首先需要包含头文件:
#include <queue>
接下来,我们可以创建一个priority_queue对象,指定元素类型和比较函数。比较函数用于确定元素的优先级,通常以lambda函数的形式提供。以下是一个示例:
std::priority_queue<int, std::vector<int>, std::greater<int>> pq;
在上面的代码中,我们创建了一个存储整数的优先队列。第一个模板参数int表示元素类型,第二个模板参数std::vector表示底层容器类型,第三个模板参数std::greater表示比较函数,它将元素按照从小到大的顺序排列。
接下来,我们可以使用priority_queue的成员函数进行操作。下面是一些常用的函数:
1、插入元素:
可以使用push()函数将元素插入优先队列中。插入的元素将根据优先级进行排序。
pq.push(10);
pq.p