forward_list::swap() en C++ STL – Part 1

La lista de reenvío en STL implementa una lista enlazada individualmente. Introducidas a partir de C++ 11, las listas de reenvío son más útiles que otros contenedores para las operaciones de inserción, eliminación y movimiento (como ordenar) y permiten la inserción y eliminación constante de elementos en el tiempo. Se diferencia de la lista por el hecho de que la lista de reenvío realiza un seguimiento de la ubicación del elemento siguiente solamente, mientras que la lista realiza un seguimiento de los elementos anteriores y siguientes.

reenviar_lista::intercambiar()

Esta función se utiliza para intercambiar el contenido de una lista de reenvío con otra lista de reenvío del mismo tipo y tamaño.

Sintaxis:

forwardlistname1.swap(forwardlistname2)
Parameters :
The name of the forward lists with which
the contents have to be swapped.
Result :
All the elements of the 2 forward list are swapped.

Ejemplos:

Input  : myflist1 = {1, 2, 3, 4}
         myflist2 = {3, 5, 7, 9}
         myflist1.swap(myflist2);
Output : myflist1 = {3, 5, 7, 9}
         myflist2 = {1, 2, 3, 4}

Input  : myflist1 = {1, 3, 5, 7}
         myflist2 = {2, 4, 6, 8}
         myflist1.swap(myflist2);
Output : myflist1 = {2, 4, 6, 8}
         myflist2 = {1, 3, 5, 7}

Errores y excepciones

1. Arroja un error si las listas de reenvío no son del mismo tipo.
2. Lanza un error si las listas de reenvío no son del mismo tamaño.
2. De lo contrario, tiene una garantía básica de lanzamiento sin excepción.

// CPP program to illustrate
// Implementation of swap() function
#include <forward_list>
#include <iostream>
using namespace std;
  
int main()
{
    // forward list container declaration
    forward_list<int> myflist1{ 1, 2, 3, 4 };
    forward_list<int> myflist2{ 3, 5, 7, 9 };
  
    // using swap() function to
    // swap elements of forward lists
    myflist1.swap(myflist2);
  
    // printing the first forward list
    cout << "myflist1 = ";
    for (auto it = myflist1.begin();
         it != myflist1.end(); ++it)
        cout << ' ' << *it;
  
    // printing the second forward list
    cout << endl
         << "myflist2 = ";
    for (auto it = myflist2.begin();
         it != myflist2.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción:

myflist1 = 3 5 7 9 
myflist2 = 1 2 3 4 

Publicación traducida automáticamente

Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *