vector : : resize() in C++ STL

Vectors are known as dynamic arrays which can change its size automatically when an element is inserted or deleted. This storage is maintained by container.

vector::resize()

The function alters the container’s content in actual by inserting or deleting the elements from it. It happens so,

Syntax:

vectorname.resize(int n, int val)

Below programs illustrate the working of the function

  1. Size of the vector container is lowered.




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

    Output:

    Contents of the vector before resizing:
    1 2 3 4 5 
    Contents of the vector after resizing:
    1 2 3 4 
    
  2. Size of the vector container is increased.




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

    Output:

    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. Size of the vector container is increased and new elements are initialized with specified value.




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

    Output:

    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 
    

Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.

Article Tags :
Practice Tags :