use*_*691 11
STL确实以std :: priority_queue的形式提供堆.make_heap等功能就在那里,因为它们在数据结构本身的范围之外有用(例如排序),并且允许在自定义结构之上构建堆(如"保持前10名"的堆栈数组)容器).
通过类比,您可以使用std :: set来存储已排序的列表,或者您可以在带有std :: adjacent_find的向量上使用std :: sort; std :: sort是更通用的,并且对底层数据结构做了很少的假设.
(注意,std :: priority_queue实现实际上并不提供自己的存储;默认情况下,它创建一个std :: vector作为其后备存储.)