📜  在C++ STL中列出resize()函数

📅  最后修改于: 2021-05-30 10:06:11             🧑  作者: Mango

list :: resize()是C++ STL中的内置函数,用于调整列表容器的大小。它使用数字n作为参数,并调整列表容器的大小以恰好包含n个元素。

  • 如果列表中已有n个以上的元素,则该函数将从列表中删除除前n个元素之外的所有元素。
  • 如果列表包含少于n个元素,则该函数会将元素的差值及其默认值添加到列表中。
  • 该函数还接受参数val ,如果指定了此参数并且列表容器中的元素数小于n,则该函数会将元素的值分配给val,将元素添加到列表中。

语法

list_name.resize(int n, value_type val)

参数:该函数接受两个参数,如下所述。

  • n :此参数指定需要调整列表大小的元素数量。
  • val :这是一个可选参数,如果指定了该参数,并且列表中包含少于n个元素,则该函数会将元素的值分配给val,从而将其添加到列表中。

返回值:该函数不返回任何值。

下面的程序说明了C++ STL中的list :: resize()函数:

// CPP program to illustrate the
// list::resize() function
#include 
using namespace std;
  
int main()
{
    // Creating a list
    list 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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”