当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ list resize()用法及代码示例


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


相关用法


注:本文由纯净天空筛选整理自barykrg大神的英文原创作品 list resize() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。