當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ Deque swap()用法及代碼示例


C++ Deque swap() 函數將給定雙端隊列的內容與傳入相同類型參數的雙端隊列進行交換。

條件:

  • 雙端隊列的類型不能不同。
  • 雙端隊列的大小可能會有所不同。

用法

void swap(deque& second);

參數

second:它是另一個雙端隊列容器,其內容將與給定的雙端隊列交換。

返回值

它不返回任何值。

例子1

讓我們看一個簡單的例子

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<string> str={"C is a programming language"};
    deque<string> str1={"java is a programming language"};
    
    str.swap(str1);
    deque<string>::iterator itr=str.begin();
     deque<string>::iterator itr1=str1.begin();
    cout<<"After swapping,value of str is:"<<*itr;
    cout<<'\n';
     cout<<"After swapping,value of str1 is:"<<*itr1;
    return 0;
 }

輸出:

After swapping,value of str is:java is a programming language
After swapping,value of str1 is:C is a programming language

在本例中,swap() 函數交換 str 和 str1 的內容。現在,str 包含“java 是一種編程語言”,而 str1 包含“C 是一種編程語言”。

例子2

當兩個雙端隊列的類型不同時,讓我們看一個簡單的例子。

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<char> c={'m','a','n','g','o'};
    deque<int> s={1 ,2,3,4,5};
    c.swap(s);
    return 0;
   }

輸出:

error:no matching function for call to 'std::deque<char>::swap(std::deque<int>&)

在這個例子中, swap() 函數拋出一個錯誤,因為兩個雙端隊列的類型不同。

例子3

讓我們看一個大小不同時的簡單示例。

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<int> first={1,2,3,4};
    deque<int> second={10,20,30,40,50};
    deque<int>::iterator itr;
    first.swap(second);
    cout<<"Content of first deque:";
    for(itr=first.begin();itr!=first.end();++itr)
    cout<<*itr<<" ";
    cout<<'\n';
    cout<<"Content of second deque:";
     for(itr=second.begin();itr!=second.end();++itr)
    cout<<*itr<<" ";
    return 0;
    }

輸出:

Content of first deque:10 20 30 40 50 
Content of second deque:1 2 3 4

在本例中,swap() 函數將第一個雙端隊列的內容與第二個雙端隊列的內容進行交換。





相關用法


注:本文由純淨天空篩選整理自 C++ Deque swap()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。