Open In App

list resize() function in C++ STL

Last Updated : 14 Jun, 2022
Improve
Improve
Like Article
Like
Save
Share
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)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads