當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。