Open In App

list resize() function in C++ STL

Last Updated : 14 Jun, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

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

Time Complexity - Linear O(N)


Next Article
Article Tags :
Practice Tags :

Similar Reads