función de cambio de tamaño de lista() en C++ STL

list::resize() es una función incorporada en C++ STL que se usa para cambiar el tamaño de un contenedor de lista. Toma un número n como parámetro y cambia el tamaño del contenedor de la lista para que contenga exactamente n elementos.

  • Si la lista ya tiene más de n elementos, la función borra los elementos de la lista excepto el primer n elemento.
  • Si la lista contiene menos de n elementos, la función agrega el número de diferencia de elementos a la lista con sus valores predeterminados.
  • La función también acepta un parámetro val , si se especifica este parámetro y el número de elementos en el contenedor de la lista es menor que n, entonces la función agrega elementos a la lista con su valor asignado a val .

Sintaxis :

list_name.resize(int n, value_type val)

Parámetros : Esta función acepta dos parámetros como se describe a continuación.

  • n : este parámetro especifica el número de elementos hasta los que se necesita cambiar el tamaño de la lista.
  • val : este es un parámetro opcional y si se especifica y la lista contiene menos de n elementos, la función agregará elementos a la lista con su valor asignado a val .

Valor devuelto: esta función no devuelve ningún valor. El siguiente programa ilustra la función list::resize() en C++ STL: 

CPP

// CPP program to illustrate the
// list::resize() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Creating a list
    list<int> demoList;
 
    // Adding elements to the list
    demoList.push_back(10);
    demoList.push_back(20);
    demoList.push_back(30);
    demoList.push_back(40);
 
    // Initial list:
    cout << "Initial List: ";
    for (auto itr = demoList.begin(); itr != demoList.end(); itr++)
        cout << *itr << " ";
 
    // Resize list to contain less elements
    demoList.resize(2);
    cout << "\n\nList after first resize: ";
    for (auto itr = demoList.begin(); itr != demoList.end(); itr++)
        cout << *itr << " ";
 
    // Resize list to contain more elements
    demoList.resize(4);
    cout << "\n\nList after second resize: ";
    for (auto itr = demoList.begin(); itr != demoList.end(); itr++)
        cout << *itr << " ";
 
    // resize list to contain more elements
    // with a specified value
    demoList.resize(5, 50);
    cout << "\n\nList after third resize: ";
    for (auto itr = demoList.begin(); itr != demoList.end(); itr++)
        cout << *itr << " ";
 
    return 0;
}
Producción:

Initial List: 10 20 30 40 

List after first resize: 10 20 

List after second resize: 10 20 0 0 

List after third resize: 10 20 0 0 50

Complejidad del tiempo – O(N) lineal

Publicación traducida automáticamente

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