📅  最后修改于: 2023-12-03 15:13:55.515000             🧑  作者: Mango
list.Assign()
函数std::list
是 C++ STL(标准模板库)中的一个容器,它是一个双向链表,可以在 O(1) 的时间复杂度下在任意位置插入或删除元素。在 std::list
中,Assign()
函数用于给容器赋值。
void assign (size_type n, const value_type& val);
template <class InputIterator>
void assign (InputIterator first, InputIterator last);
n
:要赋予 list
的元素个数。val
:要赋给 list
的元素值。first
:范围的开始迭代器。last
:范围的结束迭代器。Assign()
函数用于重置 list
的元素。它接受一个元素值或一个范围,并用它们替换现有的元素。如果新元素数量大于原来的元素数量,则新元素会被添加到列表的末尾。
#include <iostream>
#include <list>
int main() {
std::list<int> mylist;
// 设置所有元素为 8
mylist.assign(5, 8);
// 打印我的列表中的元素
std::cout << "mylist contains:";
for (auto it = mylist.begin(); it != mylist.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
// 使用提供的指针数组重置元素
int myints[] = { 1776, 7, 4 };
mylist.assign(myints, myints + 3);
// 打印我的列表中的元素
std::cout << "mylist contains:";
for (auto it = mylist.begin(); it != mylist.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
mylist contains: 8 8 8 8 8
mylist contains: 1776 7 4
这个示例用 Assign()
函数将 list
中的所有元素设置为 8,然后使用一个指针数组将它们重置为 1776、7 和 4。最后输出 list
中的每个元素。
std::list
的 Assign()
函数是一种将新值赋给列表的常用方法。它可以通过单个值或范围来实现,使得列表重新赋值变得异常简单。这个函数非常实用,可以让你在 C++ STL 中轻松地进行列表管理。