array::fill() y array::swap() en C++ STL

Las clases de arreglos son generalmente más eficientes, livianas y confiables que los arreglos de estilo C. La introducción de la clase de array de C++ 11 ha ofrecido una mejor alternativa para las arrays de estilo C.

array::llenar()

Esta función se utiliza para establecer un valor común para todos los elementos del contenedor de array. Sintaxis:

arrayname.fill(value)
Parameters :
The value to be set for all the elements of
the container is passed as parameter.
Result :
All the elements of the container are
set to be equal to the parameter passed.

Ejemplos:

Input  : myarray = {1, 2, 3, 4}
         myarray.fill(5);
Output : myarray = {5, 5, 5, 5}

Input  : myarray = {1, 2, 3, 4, 5, 6, 7}
         myarray.fill(2);
Output : myarray = {2, 2, 2, 2, 2, 2, 2}

Errores y Excepciones 1. Arroja un error si la operación de asignación arroja algún error. 2. De lo contrario, tiene una garantía básica de lanzamiento sin excepción. 

CPP

// CPP program to illustrate
// Implementation of fill() function
#include <array>
#include <iostream>
using namespace std;
 
int main()
{
        // array container declaration
    array<int, 4> myarray{ 1, 2, 3, 4 };
 
        // Using fill() function to
    myarray.fill(5);
 
        // printing the array
    for(auto it=myarray.begin(); it<myarray.end(); ++it)
        cout<<*it<<" ";
    return 0;
}

Producción:

5 5 5 5
array::intercambiar()

Esta función se utiliza para intercambiar el contenido de una array con otra array del mismo tipo y tamaño. Sintaxis:

arrayname1.swap(arrayname2)
Parameters :
The name of the array with which
the contents have to be swapped.
Result :
All the elements of the 2 array are swapped.

Ejemplos:

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

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

Errores y Excepciones 1. Da error si los arreglos no son del mismo tipo. 2. Lanza un error si la array no es del mismo tamaño. 2. De lo contrario, tiene una garantía básica de lanzamiento sin excepción. 

CPP

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

Producción:

myarray1 = 3 5 7 9 
myarray2 = 1 2 3 4 

Veamos las diferencias en forma tabular -:

  array::llenar()  array::intercambiar()
1. Se utiliza para llenar todos los elementos de una array con un solo valor. Se utiliza para intercambiar el contenido de una array con otra array.
2. Su sintaxis es -:
fill (const value_type& val);
Su sintaxis es -:
swap (array& x)
3. Solo toma un parámetro que es el valor que queremos llenar en la array. Solo toma un parámetro que es la array que queremos intercambiar.
4. No tiene ningún valor de retorno. No tiene ningún valor de retorno.
5. Su complejidad es lineal. Su complejidad es Lineal.

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 *