C++ List resize()
C++ List resize()
C++ List resize()函数更改列表容器的大小。
以下是条件:
如果n小于当前容器的大小,则列表容器将减少为n个元素,并删除所有扩展n空间的元素。
如果n大于当前容器的大小,然后增加容器的大小,并可以在扩展的空间中插入更多元素。
语法
void resize(size_type n, value_type val )
参数
n : 这是新的容器大小。
val : 值
返回值
它不返回任何值。
示例1
让我们看一个简单的示例,其中n小于当前容器的大小。
#include <iostream>
#include<list>
using namespace std;
int main()
{
list<int> li={1,2,3,4,5};
list<int>::iterator itr;
std::cout << "Content of list li :" << std::endl;
for(itr=li.begin();itr!=li.end();++itr)
cout<<*itr<<",";
li.resize(3);
cout<<'\n';
std::cout << "After resizing,Content of list li :" << std::endl;
for(itr=li.begin();itr!=li.end();++itr)
cout<<*itr<<",";
return 0;
}
输出:
Content of list li : 1,2,3,4,5 Content of list li : 1,2,3
在此示例中,resize()函数将列表容器的大小减小2、因此,列表的最后两个元素已被删除,输出变为1,2,3、
示例2
让我们看一个简单的示例,其中n大于当前容器的大小。
#include <iostream>
#include<list>
using namespace std;
int main()
{
list<int> li={10,20,30,40};
list<int>::iterator itr;
std::cout << "Content of list li :" << std::endl;
for(itr=li.begin();itr!=li.end();++itr)
cout<<*itr<<",";
li.resize(7,50);
cout<<'\n';
std::cout << "After resizing,Content of list li :" << std::endl;
for(itr=li.begin();itr!=li.end();++itr)
cout<<*itr<<",";
return 0;
}
输出:
Content of list li : 10,20,30,40 After resizing,Content of list li : 10,20,30,40,50,50,50
在此示例中,resize()函数将列表的大小增加3,并将新元素(即50)插入到新构建的空间中。