public member function
<queue>

std::swap (priority_queue)

template <class T, class Container, class Compare>  void swap (priority_queue<T,Container,Compare>& x,             priority_queue<T,Container,Compare>& y) noexcept(noexcept(x.swap(y)));
交换 priority queues 的内容
交换 xy 的内容。

参数

x,y
priority_queue 相同类型的容器。大小可能不同。

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// swap priority_queues
#include <iostream>       // std::cout
#include <queue>          // std::priority_queue, std::swap(priority_queue)

int main ()
{
  std::priority_queue<int> foo,bar;
  foo.push (15); foo.push(30); foo.push(10);
  bar.push (101); bar.push(202);

  swap(foo,bar);

  std::cout << "size of foo: " << foo.size() << '\n';
  std::cout << "size of bar: " << bar.size() << '\n';

  return 0;
}

输出

size of foo: 2
size of bar: 3


复杂度

常量。

数据竞争

容器 xy 都被修改。

异常安全

提供与对底层容器对象执行的操作相同的保证级别。

另见