Tutorialspoint.dev

list resize() function in C++ STL

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 << " List after first resize: ";
    for (auto itr = demoList.begin(); itr != demoList.end(); itr++)
        cout << *itr << " ";
  
    // Resize list to contain more elements
    demoList.resize(4);
    cout << " List 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 << " List 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


This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter