Biblioteca de vetores C ++ - função resize ()

Descrição

A função C ++ std::vector::resize()altera o tamanho do vetor. Se n for menor que o tamanho atual, os elementos extras serão destruídos.

Se n for maior que o tamanho do contêiner atual, novos elementos serão inseridos no final do vetor.

Se val for especificado, os novos elementos serão inicializados com val.

Declaração

A seguir está a declaração da função std :: vector :: resize () do cabeçalho std :: vector.

C ++ 98

void resize (size_type n, value_type val = value_type());

C ++ 11

void resize (size_type n);
void resize (size_type n, const value_type& val);

Parâmetros

  • n - Novo tamanho do recipiente.

  • val - Valor inicial para elementos de contêiner.

Valor de retorno

Nenhum.

Exceções

Se a realocação falhar, a exceção bad_alloc será lançada.

Complexidade de tempo

Linear, ou seja, O (n)

Exemplo

O exemplo a seguir mostra o uso da função std :: vector :: resize ().

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v;

   cout << "Initial vector size = " << v.size() << endl;

   v.resize(5, 10);
   cout << "Vector size after resize = " << v.size() << endl;

   cout << "Vector contains following elements" << endl;
   for (int i = 0; i < v.size(); ++i)
      cout << v[i] << endl;

   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

Initial vector size = 0
Vector size after resize = 5
Vector contains following elements
10
10
10
10
10