C++ STL中的priority_queue::swap()
优先队列是一种容器适配器,特别设计使队列中的第一个元素是队列中所有元素中最大或最小的。然而,在C++ STL中(默认情况下)最大的元素位于顶部。我们也可以通过在创建优先队列时简单地传递额外的参数来创建顶部为最小元素的优先队列。
priority_queue::swap()
此函数用于将一个具有相同类型和相同或不同大小的另一个优先队列的内容与另一个优先队列的内容交换。
时间复杂度:O(1)
语法:
priorityqueuename1.swap(priorityqueuename2)
参数:
要与其中的内容交换的优先队列的名称。
结果:
两个优先队列的所有元素都被交换。
例子:
注意: 在优先队列容器中,元素以相反的顺序打印,因为首先打印顶部,然后移动到其他元素。
错误和异常 1. 如果优先队列不是相同类型,则会抛出错误。2. 否则,它具有基本的非异常引发保证。
例子1:它交换了相同类型和相同大小的两个优先队列
输出
例子2: 它交换了相同类型但大小不同的两个优先队列
输出