std::priority_queue::priority_queue

来自cppreference.com

 
 
 
的std :: priority_queue
成员函数
原文:
Member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
priority_queue::priority_queue
priority_queue::~priority_queue
priority_queue::operator=
元素的访问
原文:
Element access
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
priority_queue::top
容量
原文:
Capacity
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
priority_queue::empty
priority_queue::size
修饰符
原文:
Modifiers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
priority_queue::push
priority_queue::emplace
priority_queue::pop
priority_queue::swap
 
explicit priority_queue( const Compare& compare = Compare(),

                         const Container& cont = Container());

priority_queue( const Compare& compare, const Container& cont);
(1) (至 C++11)

(C++11 起)
explicit priority_queue( const Compare& compare = Compare(),
                         Container&& cont = Container());
(2) (C++11 起)
priority_queue( const priority_queue& other );
(3)
priority_queue( priority_queue&& other );
(4) (C++11 起)
template< class Alloc >
explicit priority_queue( const Alloc& alloc );
(5) (C++11 起)
template< class Alloc >
priority_queue( const Compare& compare, const Alloc& alloc );
(6) (C++11 起)
template< class Alloc >

priority_queue( const Compare& compare, const Container& cont,

                const Alloc& alloc );
(7) (C++11 起)
template< class Alloc >

priority_queue( const Compare& compare, Container&& cont,

                const Alloc& alloc );
(8) (C++11 起)
template< class Alloc >
priority_queue( const priority_queue& other, const Alloc& alloc );
(9) (C++11 起)
template< class Alloc >
priority_queue( priority_queue&& other, const Alloc& alloc );
(10) (C++11 起)
template< class InputIt >

priority_queue( InputIt first, InputIt last,

                const Compare& compare, const Container& cont );
(11) (C++11 起)
template< class InputIt >

priority_queue(InputIt first, InputIt last,

               const Compare& compare = Compare(), Container&& cont = Container());
(12) (C++11 起)
构建新的基础容器,容器适配器从各种数据源.
原文:
Constructs new underlying container of the container adaptor from a variety of data sources.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
1)
复制与内容c构造基础容器cont。复制构造comp的内容的比较函数compare。调用std::make_heap(c.begin(), c.end(), comp)
原文:
{{{2}}}
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
这是默认的构造函数(至 C++11)|Copy-constructs the underlying container c with the contents of cont. Copy-constructs the comparison functor comp with the contents of compare. Calls std::make_heap(c.begin(), c.end(), comp).}} This is also the default constructor (至 C++11)}}
2)
移动构建的基本容器cstd::move(cont)。移动构造比较函数compstd::move(compare)。调用std::make_heap(c.begin(), c.end(), comp)。这也是默认的构造函数(C++11 起)
原文:
Move-constructs the underlying container c with std::move(cont). Move-constructs the comparison functor comp with std::move(compare). Calls std::make_heap(c.begin(), c.end(), comp). This is also the default constructor (C++11 起)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
3)
拷贝构造函数。该适配器拷贝构造的other.c的内容。这个比较函数的构造与std::move(other.comp)(隐式声明)
原文:
Copy constructor. The adaptor is copy-constructed with the contents of other.c. The comparison functor is constructed with std::move(other.comp). (隐式声明)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
4)
移动的构造函数。适配器构造与std::move(other.c).The比较函数的构造与std::move(other.comp)(隐式声明)
原文:
Move constructor. The adaptor is constructed with std::move(other.c).The comparison functor is constructed with std::move(other.comp). (隐式声明)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
5-10)
下面的构造std::uses_allocator<container_type, Alloc>::value == true,也就是说,如果的基础容器是一个分配器感知的容器(适用于所有标准库容器),如果只定义.
原文:
The following constructors are only defined if std::uses_allocator<container_type, Alloc>::value == true, that is, if the underlying container is an allocator-aware container (true for all standard library containers).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
5)
构造底层的容器,使用alloc作为分配器。有效地调用c(alloc)comp is value-initialized.
原文:
Constructs the underlying container using alloc as allocator. Effectively calls c(alloc). comp is value-initialized.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
6)
构造底层的容器,使用alloc作为分配器。有效地调用c(alloc)。复制结构compcompare.
原文:
Constructs the underlying container using alloc as allocator. Effectively calls c(alloc). Copy-constructs comp from compare.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
7)
构造的基础容器cont的内容和使用alloc作为分配器。有效地调用c(cont, alloc)。复制结构compcompare.
原文:
Constructs the underlying container with the contents of cont and using alloc as allocator. Effectively calls c(cont, alloc). Copy-constructs comp from compare.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
8)
构造基础容器的内容cont使用移动语义,同时利用alloc分配器。有效地调用c(std::move(cont), alloc)。复制结构compcompare.
原文:
Constructs the underlying container with the contents of cont using move semantics while utilising alloc as allocator. Effectively calls c(std::move(cont), alloc). Copy-constructs comp from compare.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
9)
构建适配器的other.c的内容,作为分配器和使用alloc。有效地调用c(athor.c, alloc)。复制结构compother.comp.
原文:
Constructs the adaptor with the contents of other.c and using alloc as allocator. Effectively calls c(athor.c, alloc). Copy-constructs comp from other.comp.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
10)
构建适配器other使用移动语义,同时利用alloc分配器的内容。有效地调用c(std::move(other.c), alloc)。移动结构compother.comp.
原文:
Constructs the adaptor with the contents of other using move semantics while utilising alloc as allocator. Effectively calls c(std::move(other.c), alloc). Move-constructs comp from other.comp.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
11)
ccontcompcompare复制结构。然后调用c.insert(c.end(), first, last);,然后调用std::make_heap(c.begin(), c.end(), comp);.
原文:
Copy-constructs c from cont and comp from compare. Then calls c.insert(c.end(), first, last);, and then calls std::make_heap(c.begin(), c.end(), comp);.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
12)
移动cstd::move(cont)结构和compstd::move(compare)。然后调用c.insert(c.end(), first, last);,然后调用std::make_heap(c.begin(), c.end(), comp);.
原文:
Move-constructs c from std::move(cont) and comp from std::move(compare). Then calls c.insert(c.end(), first, last);, and then calls std::make_heap(c.begin(), c.end(), comp);.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 参数

alloc -
分配器使用的所有内存分配的基础容器
原文:
allocator to use for all memory allocations of the underlying container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
other -
另一个容器适配器要用作源初始化基础容器
原文:
another container adaptor to be used as source to initialize the underlying container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
cont -
容器被用作源初始化基础容器
原文:
container to be used as source to initialize the underlying container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
compare -
比较函数对象初始化的基础比较函数
原文:
the comparison function object to initialize the underlying comparison functor
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
first, last -
初始化的元素范围
原文:
range of elements to initialize with
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
类型要求
-
Alloc 必须满足 Allocator 的要求。
-
Container 必须满足 Container 的要求。 The constructors (5-10) are only defined if Container meets the requirements of AllocatorAwareContainer
-
InputIt 必须满足 InputIterator 的要求。

[编辑] 复杂度

1,3,5,6,8:线性contother
原文:
1, 3, 5, 6, 8: linear in cont or other
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
2,4,7,9:不变
原文:
2, 4, 7, 9: constant
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 示例

#include <queue>
#include <deque>
#include <iostream>
 
int main()
{
    std::priority_queue<int> c1;
    c1.push(5);
    std::cout << c1.size() << '\n';
 
    std::priority_queue<int> c2(c1);
    std::cout << c2.size() << '\n';
 
    std::deque<int> deq {3, 1, 4, 1, 5};
    std::priority_queue<int> c3(std::less<int>(), deq);
    std::cout << c3.size() << '\n';
}

输出:

1
1
5

[编辑] 另请参阅

将值指派给容器适配器
原文:
assigns values to the container adaptor
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(公共成员函数) [edit]