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

C++ Uso e exemplo da função swap() da lista

C++ Lista ( Lista )

C ++ A função swap() da lista troca dois vetores de tipos iguais, mas pode ter tamanhos diferentes.

Sintaxe

void swap(list& x);

Parâmetro

x:Esta é outra lista a ser trocada com a lista fornecida.

Retorno

Ele não retorna nenhum valor.

Erro:

Quando os tipos dos dois vetores não são iguais, será gerado um erro.

Exemplo1

Vamos ver um exemplo simples, onde os tipos e tamanhos dos dois vetores são iguais.

#include ioutre
#include<list>
using namespace std;
int main()
{
   
    std::list<char> li={'+','-','*','@'};
    list<char> li1={'j','a','v','a'};
    std::cout << "Inicialmente, o conteúdo da lista li é :";
    for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr)
    cout<<*itr;
    std::cout << 'n' << "Inicialmente, a lista li1o conteúdo é :";
    for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr)
    cout<<*itr;
    li.swap(li1);
    cout << '\n';
    cout<<"Após a troca, o conteúdo da lista li é :";
    for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr)
    cout<<*itr;
    cout << '\n';
    cout<<"Após a troca, a lista li1o conteúdo é :";
    for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr)
    cout<<*itr;
    return 0;
}

Saída:

Inicialmente, o conteúdo da lista li é : +-*@
Inicialmente, a lista li1o conteúdo é :
Após a troca, o conteúdo da lista li é :
Após a troca, a lista li1o conteúdo é : +-*@

Neste exemplo, a função swap() troca o conteúdo da lista li com a lista li1Troca.

Exemplo2

Vamos ver um exemplo simples, quando dois vetores são de tipos diferentes.

#include ioutre
#include<list>
using namespace std;
int main()
{
   std::list<char> li={'P','H','P'};
    list<int> li1={1,2,3};
    li.swap(li1);
    cout << '\n';
    return 0;
}

Saída:

error: não há chamada correspondente para list::swap(list&).

Neste exemplo, duas listas são de tipos diferentes. Portanto, a função swap() causará um erro, ou seja: list :: swap (list&) não tem chamada correspondente.

C++ Lista ( Lista )