Console Library 8.0.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
console::PriorityQueue< T, Container, Compare > Class Template Reference

优先队列容器适配器,扩展自 std::priority_queue。 More...

#include <adapter.h>

Inheritance diagram for console::PriorityQueue< T, Container, Compare >:

Public Member Functions

base_type::value_type pop ()
 弹出优先级最高的元素并返回其值。

Private Types

using base_type = std::priority_queue<T, Container, Compare>

Friends

template<class CharT, class Traits>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const PriorityQueue &pq)
 重载输出流运算符,将栈的内容输出到流中。

Detailed Description

template<class T, class Container = std::vector<T>, class Compare = std::less<T>>
class console::PriorityQueue< T, Container, Compare >

优先队列容器适配器,扩展自 std::priority_queue。

Template Parameters
T优先队列中存储的元素类型。
Container底层容器类型,默认为 std::vector<T>。
Compare比较函数对象类型,默认为 std::less<T>(最大堆)。

该适配器继承自 std::priority_queue,提供了返回值版本的 pop() 方法。 使用示例:

pq.push(3);
pq.push(1);
pq.push(4);
int value = pq.pop(); // 返回 4(最大值)并弹出
优先队列容器适配器,扩展自 std::priority_queue。
Definition adapter.h:163
base_type::value_type pop()
弹出优先级最高的元素并返回其值。
Definition adapter.h:178

Member Typedef Documentation

◆ base_type

template<class T, class Container = std::vector<T>, class Compare = std::less<T>>
using console::PriorityQueue< T, Container, Compare >::base_type = std::priority_queue<T, Container, Compare>
private

Member Function Documentation

◆ pop()

template<class T, class Container = std::vector<T>, class Compare = std::less<T>>
base_type::value_type console::PriorityQueue< T, Container, Compare >::pop ( )
inline

弹出优先级最高的元素并返回其值。

Returns
typename base_type::value_type 优先级最高的元素的值(通过移动语义返回)。

该方法结合了 top() 和 pop() 操作,返回堆顶元素的副本/移动值, 然后将堆顶元素弹出。使用移动语义避免不必要的拷贝。

◆ operator<<

template<class T, class Container = std::vector<T>, class Compare = std::less<T>>
template<class CharT, class Traits>
std::basic_ostream< CharT, Traits > & operator<< ( std::basic_ostream< CharT, Traits > & os,
const PriorityQueue< T, Container, Compare > & pq )
friend

重载输出流运算符,将栈的内容输出到流中。

Parameters
os输出流对象。
pq要输出的栈对象。
Returns
输出流对象的引用。
Note
要求c支持输出。

The documentation for this class was generated from the following file: