English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Metodo e esempio di utilizzo di swap() di C++ Deque

Deque (double-ended queue) C++

La funzione swap() di C++ Deque scambia il contenuto della coda a due estremità data con la coda a due estremità dello stesso tipo passata come parametro.

Condizioni:

  • Il tipo della code a due estremità deve essere lo stesso.

  • La dimensione della code a due estremità può essere diversa.

Sintassi

void swap(deque& second);

Parametro

second:È un altro contenitore di code a due estremità, il cui contenuto verrà scambiato con quello della code data.

Valore di ritorno

Non restituisce alcun valore.

Esempio 1

Lasciate che vi mostriamo un esempio semplice

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<string> str={"C è un linguaggio di programmazione"};
    deque<string> str1={"java è un linguaggio di programmazione"};
    
    str.swap(str1);
    deque<string>::iterator itr=str.begin();
     deque<string>::iterator itr1=str1.begin();
    cout << "Dopo lo scambio, il valore di str è: " << *itr;
    cout << '\n';
     cout << "Dopo lo scambio, il valore di str1 è: " << *itr1;
    return 0;
 }

Output:

Dopo lo scambio, il valore di str è: "java è un linguaggio di programmazione"
Dopo lo scambio, il valore di str1 è: "C è un linguaggio di programmazione"

In questo esempio, la funzione swap() scambia il contenuto di str e str1. Ora, str contiene "java è un linguaggio di programmazione" e str1 contiene "C è un linguaggio di programmazione".

Esempio 2

Lasciate che vi mostriamo un esempio semplice quando due code a due estremità sono di tipi diversi.

#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;
   }

Output:

errore: nessuna funzione corrispondente per la chiamata a 'std::deque<char>::swap(std::deque<int>&)

In questo esempio, la funzione swap() genererà un errore perché le due code a due estremità hanno tipi diversi.

Esempio 3

Lasciate che vi mostriamo un esempio semplice, quando le dimensioni sono diverse.

#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 << "第一双端队列的内容:";
    for(itr=first.begin();itr!=first.end();++itr)
    cout << *itr << " \" ";
    cout << '\n';
    cout << "Contenuto della seconda deque:\";
     for(itr=second.begin();itr!=second.end();++itr)
    cout << *itr << " \" ";
    return 0;
    }

Output:

Contenuto della prima deque:10 20 30 40 50 
Contenuto della seconda deque:1 2 3 4

In questo esempio, la funzione swap() scambia il contenuto della prima deque con la seconda deque.

Deque (double-ended queue) C++