C++ STL 中的 list resize() 函式
在本文中,我們將討論 C++ 中 list::resize() 函式的工作原理、語法和示例。
什麼是 STL 中的 List
List 是一種資料結構,允許在序列中的任何位置進行常數時間插入和刪除操作。列表以雙向連結串列的形式實現。列表允許非連續記憶體分配。與陣列、向量和雙端佇列相比,列表在任何位置插入、提取和移動元素方面表現更好。在 List 中,對元素的直接訪問速度較慢,並且列表類似於 forward_list,但 forward_list 物件是單向連結串列,只能向前迭代。
什麼是 list::resize()?
list::resize() 是 C++ STL 中的一個內建函式,它在標頭檔案中宣告。resize() 用於調整列表容器的大小。它調整容器的大小,使其包含我們在函式引數中給出的元素數量。
語法
list_name.resize(int n);
或
list_name.resize(int n, const value_type &val);
此函式可以在內部接受一個或兩個引數。
引數
n - 它是一個整數型別,定義新的容器大小(元素數量)。
val - 其內容要複製到容器中所有空間的物件。
返回值
此函式不返回任何值。它只會調整容器的大小。
示例
#include <bits/stdc++.h>
using namespace std;
int main(){
//create a list
list<int> myList;
//insert elements to the list
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.push_back(4);
//elemets in th list before Resize
cout << "List elements are : ";
for (auto i = myList.begin(); i!= myList.end(); i++)
cout << *i << " ";
//Resizing list
myList.resize(5);
cout<<"\nList after resize: ";
for (auto i = myList.begin(); i!= myList.end(); i++)
cout << *i << " ";
//Resizing list again
myList.resize(6);
cout<<"\nList after resizing it again : ";
for (auto i = myList.begin(); i != myList.end(); i++)
cout << *i << " ";
return 0;
}輸出
如果我們執行上述程式碼,它將生成以下輸出
List elements are : 1 2 3 4 List after resize : 1 2 3 4 0 List after resizing it again : 1 2 3 4 0 0
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP