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