función std :: swap () con el ejemplo en STL C ++

En este artículo, vamos a ver, lo que de intercambio función de la biblioteca estándar () es y lo que es el uso de la misma y cómo usarlo en un programa?

std :: swap ()

intercambio () es una función de biblioteca estándar que permutas el valor b / w dos objetos. En C11, se ha movido en & lt; utilidad & gt; encabezamiento. A continuación se muestra los detalles de sintaxis class intercambio () .

Sintaxis:

void swap (T& a, T& b);

Parámetro (s): T & A, T & B que son los objetos que se va a intercambiar

class Tipo: for – Se devuelve nada.

Uso: valor Swaps b / w dos objetos

Ejemplos:

1) Intercambio de dos incorporado en los tipos de datos

En el siguiente ejemplo, vemos cómo intercambiar dos enteros usando std :: swap () función.

#include <bits/stdc++.h>
using namespace std;
int main()
{
int a = 10, b = 20;
cout << "Before swapping:n";
cout << "a: " << a << ", b: " << b << endl;
//swap now
swap(a, b);
cout << "After swapping:n";
cout << "a: " << a << ", b: " << b << endl;
return 0;
}

salida:

Before swapping:
a: 10, b: 20
After swapping:
a: 20, b: 10

2) Intercambio de dos objetos definidos por el usuario

En el siguiente ejemplo, vemos cómo intercambiar dos objetos definidos por el usuario utilizando std :: swap () función. Aquí hemos definido un class estudiante como vemos cómo SWAP Intercambio del contenido entre ellos.

#include <bits/stdc++.h>
using namespace std;
class student {
public:
int roll;
string name;
int marks;
student()
{
roll = -1;
name = "";
marks = 0;
}
student(int r, string s, int m)
{
roll = r;
name = s;
marks = m;
}
};
void print(student t)
{
cout << "Roll: " << t.roll << endl;
cout << "Name: " << t.name << endl;
cout << "Marks: " << t.marks << endl;
}
int main()
{
student a(1, "Alice", 80);
student b(2, "Bob", 85);
cout << "Before swapping:n";
cout << "Student a:n";
print(a);
cout << "Student b:n";
print(b);
//swap now
swap(a, b);
cout << "After swapping:n";
cout << "Student a:n";
print(a);
cout << "Student b:n";
print(b);
return 0;
}

salida:

Before swapping:
Student a:
Roll: 1
Name: Alice
Marks: 80
Student b:
Roll: 2
Name: Bob
Marks: 85
After swapping:
Student a:
Roll: 2
Name: Bob
Marks: 85
Student b:
Roll: 1
Name: Alice
Marks: 80

3) Intercambio entre dos vectores (contenedores)

En el siguiente ejemplo vamos a ver cómo intercambiar los contenidos de dos vectores. De la misma manera, se pueden intercambiar BE / w objeto de cualquier contenedor.

#include <bits/stdc++.h>
using namespace std;
void print(vector<int> a)
{
for (auto it : a) {
cout << it << " ";
}
cout << endl;
}
int main()
{
vector<int> a{ 10, 20, 30, 40 };
vector<int> b{ 1, 2, 3, 4, 5, 6, 7 };
cout << "Before swapping:n";
cout << "Vector a:n";
print(a);
cout << "Vector b:n";
print(b);
//swap now
swap(a, b);
cout << "After swapping:n";
cout << "Vector a:n";
print(a);
cout << "Vector b:n";
print(b);
return 0;
}

Salida:

Before swapping:
Vector a:
10 20 30 40
Vector b:
1 2 3 4 5 6 7
After swapping:
Vector a:
1 2 3 4 5 6 7
Vector b:
10 20 30 40


Deja un comentario

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