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

C++ Método e exemplo de uso de swap() Deque

C++ Deque (Duas Finais)

C ++ A função swap() da Deque troca o conteúdo da fila dupla fornecida com a fila dupla passada como parâmetro do mesmo tipo.

Condição:

  • O tipo da fila dupla deve ser o mesmo.

  • O tamanho da fila dupla pode ser desigual.

sintaxe

void swap(deque& second);

parâmetro

second:Esta é outra container de fila dupla, cujo conteúdo será trocado com a fila dupla fornecida.

Retorno do valor

ele não retorna nenhum valor.

Exemplo1

Vamos ver um exemplo simples

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<string> str={"C é um linguagem de programação"};
    deque<string> str1={"java é um linguagem de programação"};
    
    str.swap(str1);
    iterator deque<string> itr=str.begin();
     iterator deque<string> itr1=str1.begin();
    cout << "após a troca, o valor de str é: " <<*itr;
    cout<<'\n';
     cout << "após a troca, str1tem o valor: "<<"*itr1;
    return 0;
 }

Saída:

após a troca, o valor de str é: "java é um linguagem de programação"
após a troca, str1tem o valor: "C é um linguagem de programação"

Neste exemplo, a função swap() troca str e str1do conteúdo. Agora, str contém "java é um linguagem de programação", e str1contendo "C é um linguagem de programação".

Exemplo2

Vamos ver um exemplo simples quando duas filas duplas têm tipos diferentes.

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

Saída:

error: não há função correspondente para a chamada 'std::deque<char>::swap(std::deque<int>&)

Neste exemplo, a função swap() causará um erro, porque as duas filas duplas têm tipos diferentes.

Exemplo3

Vamos ver um exemplo simples, quando os tamanhos são diferentes.

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<int> first={1,2,3,4};
    deque<int> second={10,20,30,40,50};
    iterator deque<int> itr;
    first.swap(second);
    cout << "primeira fila dupla de conteúdo:";
    for(itr=first.begin();itr!=first.end();++itr)
    cout<<*itr<<" ";
    cout<<'\n';
    cout<<"Conteúdo da segunda fila dupla:";
     for(itr=second.begin();itr!=second.end();++itr)
    cout<<*itr<<" ";
    return 0;
    }

Saída:

Conteúdo da primeira fila dupla:10 20 30 40 50 
Conteúdo da segunda fila dupla:1 2 3 4

Neste exemplo, a função swap() troca o conteúdo da primeira fila dupla para a segunda fila dupla.

C++ Deque (Duas Finais)