función unordered_multiset swap() en C++ STL

Unordered_multiset ::swap() es una función integrada en C++ STL que intercambia el contenido de dos 
contenedores unordered_multiset. 

Nota : Ambos contenedores deben tener el mismo tipo de elementos. Los tamaños de los contenedores pueden diferir.

Sintaxis: 

unordered_multiset1.swap(unordered_multiset2);

Parámetros: La función acepta solo un parámetro obligatorio, es decir, unordered_multiset2 con el que se debe realizar el intercambio de unordered_multiset1.

Valor devuelto: No devuelve ningún valor.

Los siguientes programas ilustran la función anterior.

Programa 1: 

C++

// C++ program to illustrate
// unordered_multiset::swap()
#include <iostream>
#include <string>
#include <unordered_set>
 
using namespace std;
 
// Function to display the contents of multiset s.
void display(unordered_multiset<int> s)
{
    for (auto it = s.begin(); it != s.end(); it++)
        cout << *it<<" ";
    cout<<"\n";   
}
 
int main()
{
    // Declaration
    unordered_multiset<int> s1, s2;
 
    // initializing both multisets(sizes are different)
    s1 = { 1, 2, 3, 4 };
    s2 = { 10, 20, 30, 40, 50 };
 
    // displaying initial values
    cout << "Initial values of s1 are: \n";
    display(s1);
    cout << endl;
 
    cout << "Initial values of s2 are: \n";
    display(s2);
    cout << endl;
     
    // swapping the values
    s1.swap(s2);
 
    // display final values
    cout << "Final values of s1 are: \n";
    display(s1);
    cout << endl;
 
    cout << "Final values of s2 are: \n";
    display(s2);
 
    return 0;
}
Producción: 

Initial values of s1 are: 
4 3 2 1 

Initial values of s2 are: 
50 40 30 20 10 

Final values of s1 are: 
50 40 30 20 10 

Final values of s2 are: 
4 3 2 1

 

Programa 2: 

C++

// C++ program to illustrate
// unordered_multiset::swap()
#include <iostream>
#include <string>
#include <unordered_set>
 
using namespace std;
 
// Function to display the contents of multiset s
void display(unordered_multiset<string> s)
{
    for (auto it = s.begin(); it != s.end(); it++)
        cout << *it << " ";
    cout<<endl;
}
 
int main()
{
    // Declaration
    unordered_multiset<string> s1, s2;
 
    // Initializing both multisets(sizes are different)
    s1 = { "Geeks", "for", "Geeks" };
    s2 = { "Computer", "Science", "Portal", "for", "Geeks" };
 
    // Displaying initial values
    cout << "Initial values of s1 are: \n";
    display(s1);
    cout << endl;
 
    cout << "Initial values of s2 are: \n";
    display(s2);
    cout << endl;
     
    // Swapping
    s1.swap(s2);
 
    // Display final values
    cout << "Final values of s1 are: \n";
    display(s1);
    cout << endl;
 
    cout << "Final values of s2 are: \n";
    display(s2);
     
    return 0;
}
Producción: 

Initial values of s1 are: 
for Geeks Geeks 

Initial values of s2 are: 
Geeks for Portal Science Computer 

Final values of s1 are: 
Geeks for Portal Science Computer 

Final values of s2 are: 
for Geeks Geeks

 

Publicación traducida automáticamente

Artículo escrito por Kushagra7744 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 *