vector:: redimensionar() en C++ STL

Los vectores se conocen como arrays dinámicas que pueden cambiar su tamaño automáticamente cuando se inserta o elimina un elemento. Este almacenamiento se mantiene por contenedor.

vector::redimensionar()

La función altera el contenido del contenedor en realidad insertando o eliminando los elementos del mismo. Sucede así,

  • Si el valor dado de n es menor que el tamaño actual, se derriban los elementos adicionales.
  • Si n es mayor que el tamaño actual del contenedor, los próximos elementos se agregan al final del vector.

Sintaxis:

vectorname.resize(int n, int val)

    Parámetros:

  • n – es el nuevo tamaño del contenedor, expresado en número de elementos.
  • val : si se especifica este parámetro, los nuevos elementos se inicializan con este valor.
  • Valor de retorno:

  • Esta función no devuelve nada.
  • Excepción:

  • La única excepción si sucede es que se lanza Bad_alloc , si falla la reasignación.

Los siguientes programas ilustran el funcionamiento de la función.

  1. Se reduce el tamaño del contenedor de vectores.

    // resizing of the vector
    #include <iostream>
    #include <vector>
      
    using namespace std;
      
    int main()
    {
        vector<int> vec;
      
        // 5 elements are inserted
        // in the vector
        vec.push_back(1);
        vec.push_back(2);
        vec.push_back(3);
        vec.push_back(4);
        vec.push_back(5);
      
        cout << "Contents of vector before resizing:" 
             << endl;
          
        // displaying the contents of the
        // vector before resizing
        for (int i = 0; i < vec.size(); i++)
            cout << vec[i] << " ";
      
        cout << endl;
      
        // vector is resized
        vec.resize(4);
      
        cout << "Contents of vector after resizing:" 
             << endl;
          
        // displaying the contents of the
        // vector after resizing
        for (int i = 0; i < vec.size(); i++)
            cout << vec[i] << " ";
      
        return 0;
    }

    Producción:

    Contents of the vector before resizing:
    1 2 3 4 5 
    Contents of the vector after resizing:
    1 2 3 4 
    
  2. Se aumenta el tamaño del contenedor de vectores.

    // resizing of the vector
    #include <iostream>
    #include <vector>
      
    using namespace std;
      
    int main()
    {
        vector<int> vec;
      
        // 5 elements are inserted 
        // in the vector
        vec.push_back(1);
        vec.push_back(2);
        vec.push_back(3);
        vec.push_back(4);
        vec.push_back(5);
      
        cout << "Contents of vector before resizing:" 
             << endl;
          
        // displaying the contents of the
        // vector before resizing
        for (int i = 0; i < vec.size(); i++)
            cout << vec[i] << " ";
      
        cout << endl;
      
        // vector is resized
        vec.resize(8);
      
        cout << "Contents of vector after resizing:" 
             << endl;
      
        // displaying the contents of 
        // the vector after resizing
        for (int i = 0; i < vec.size(); i++)
            cout << vec[i] << " ";
      
        return 0;
    }

    Producción:

    Contents of the vector before resizing:
    1 2 3 4 5 
    Contents of the vector after resizing:
    1 2 3 4 5 0 0 0 
    
  3. El tamaño del contenedor de vectores aumenta y los nuevos elementos se inicializan con el valor especificado.

    // resizing of the vector
    #include <iostream>
    #include <vector>
      
    using namespace std;
      
    int main()
    {
        vector<int> vec;
      
        // 5 elements are inserted
        // in the vector
        vec.push_back(1);
        vec.push_back(2);
        vec.push_back(3);
        vec.push_back(4);
        vec.push_back(5);
      
        cout << "Contents of vector before resizing:"
             << endl;
      
        // displaying the contents of 
        // the vector before resizing
        for (int i = 0; i < vec.size(); i++)
            cout << vec[i] << " ";
      
        cout << endl;
      
        // vector is resized
        vec.resize(12, 9);
      
        cout << "Contents of vector after resizing:" 
             << endl;
          
        // displaying the contents 
        // of the vector after resizing
        for (int i = 0; i < vec.size(); i++)
            cout << vec[i] << " ";
      
        return 0;
    }

    Producción:

    Contents of the vector before resizing:
    1 2 3 4 5 
    Contents of the vector after resizing:
    1 2 3 4 5 9 9 9 9 9 9 9 
    

Publicación traducida automáticamente

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