Skip to content
Related Articles

Related Articles

Improve Article

list resize() function in C++ STL

  • Difficulty Level : Basic
  • Last Updated : 25 Jun, 2018

The list::resize() is a built-in function in C++ STL which is used to resize a list container. It takes a number n as parameter and resizes the list container to contain exactly n elements.

  • If the list already has more than n elements, then the function erases the elements from the list except the first n element.
  • If the list contains less than n elements, then the function adds the difference number of elements to the list with their default values.
  • The function also accepts a parameter val, if this parameter is specified and the number of elements in the list container is less than n then the function adds elements to the list with their value assigned to val.

Syntax:

list_name.resize(int n, value_type val)

Parameters: This function accepts two parameters as described below.

  • n : This parameter specifies the number of elements upto which the list is needed to be resized.
  • val: This is an optional parameter and if it is specified and the list contains less than n elements then the function will add elements to the list with their value assigned to val.

Return Value: This function does not return any value.

Below program illustrate the list::resize() function in C++ STL:




// 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;
}
Output:
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
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :