C ++ List resize()函數(shù)更改列表容器的大小。
如果n小于當(dāng)前容器的大小,則列表容器將減少為n個(gè)元素,并刪除所有擴(kuò)展n空間的元素。
如果n大于當(dāng)前容器的大小,則容器的大小會(huì)增加,并且可以在擴(kuò)展的空間中插入更多元素。
void resize(size_type n, value_type val )
n:這是新的容器大小。
val:它是要插入到新構(gòu)建的列表中的值。
它不返回任何值。
讓我們看一個(gè)簡(jiǎn)單的示例,其中n小于當(dāng)前容器的大小。
#include <iostream> #include<list> using namespace std; int main() { list<int> li={1,2,3,4,5}; list<int>::iterator itr; std::cout << "列表li內(nèi)容是 :" << std::endl; for(itr=li.begin();itr!=li.end();++itr) cout<<*itr<<","; li.resize(3); cout<<'\n'; std::cout << "調(diào)整大小后,列表li的內(nèi)容 :" << std::endl; for(itr=li.begin();itr!=li.end();++itr) cout<<*itr<<","; return 0; }
輸出:
列表li內(nèi)容是 : 1,2,3,4,5 調(diào)整大小后,列表li的內(nèi)容 : 1,2,3
在此示例中,resize()函數(shù)將列表容器的大小減小2。因此,列表的最后兩個(gè)元素已被刪除,輸出變?yōu)?,2,3。
讓我們看一個(gè)簡(jiǎn)單的示例,其中n大于當(dāng)前容器的大小。
#include <iostream> #include<list> using namespace std; int main() { list<int> li={10,20,30,40}; list<int>::iterator itr; std::cout << "列表li內(nèi)容是 :" << std::endl; for(itr=li.begin();itr!=li.end();++itr) cout<<*itr<<","; li.resize(7,50); cout<<'\n'; std::cout << "調(diào)整大小后,列表li的內(nèi)容 :" << std::endl; for(itr=li.begin();itr!=li.end();++itr) cout<<*itr<<","; return 0; }
輸出:
列表li內(nèi)容是 : 10,20,30,40 調(diào)整大小后,列表li的內(nèi)容 : 10,20,30,40,50,50,50
在此示例中,resize()函數(shù)將列表的大小增加3,并將新元素(即50)插入到新構(gòu)建的列表中。