C ++ STL中的queue :: swap()

在本文中,我们将讨论C ++ STL中queue::swap()函数的工作,语法和示例。

C ++ STL中的队列是什么?

队列是C ++ STL中定义的简单序列或数据结构,它以FIFO(先进先出)的方式插入和删除数据。队列中的数据以连续方式存储。元素将插入到末尾,并从队列的开头删除。在C ++ STL中,已经有一个预定义的队列模板,该模板以类似于队列的方式插入和删除数据。

什么是queue::swap()?

queue::swap()是C ++ STL中的内置函数,在  头文件。queue::swap()用于交换队列容器的内容。此函数接受一个参数,这是我们希望与之交换关联队列容器的内容的另一个队列容器。

语法

myqueue1.swap(myqueue2);

此函数在第二个队列容器中接受一个参数,我们希望与之交换相关队列。

返回值

此函数不返回任何内容。

示例

Input: queue<int> odd = {1, 3, 5};
      queue<int> eve = {2. 4. 6};
Output:
      Odd: 2 4 6
      Eve: 1 3 5

示例

#include <iostream>
#include <queue>
using namespace std;
int main(){
   queue<int> Queue_1, Queue_2;
   for(int i=0 ;i<=5 ;i++){
      Queue_1.push(i);
   }
   for(int i=5 ;i<=10 ;i++){
      Queue_2.push(i);
   }
   //呼叫交换功能
   Queue_1.swap(Queue_2);
   cout<<"Element in Queue_1 are: ";
   while (!Queue_1.empty()){
      cout << ' ' << Queue_1.front();
      Queue_1.pop();
   }
   cout<<"\nElement in Queue_2 are: ";
   while (!Queue_2.empty()){
      cout << ' ' << Queue_2.front();
      Queue_2.pop();
   }
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Element in Queue_1 are: 5 6 7 8 9 10
Element in Queue_1 are: 0 1 2 3 4 5