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
using namespace std;
int main()
{
// Creating a list
list 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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。