C++ Vector Library - resize() Function


Advertisements

Description

The C++ function std::vector::resize() changes the size of vector. If n is smaller than current size then extra elements are destroyed.

If n is greater than current container size then new elements are inserted at the end of vector.

If val is specified then new elements are initialed with val.

Declaration

Following is the declaration for std::vector::resize() function form std::vector header.

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);

Parameters

  • n − New container size.

  • val − Initial value for container elements.

Return value

None.

Exceptions

If reallocation fails then bad_alloc exception is thrown.

Time complexity

Linear i.e. O(n)

Example

The following example shows the usage of std::vector::resize() function.

#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;
}

Let us compile and run the above program, this will produce the following result −

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