📅  最后修改于: 2023-12-03 14:52:40.741000             🧑  作者: Mango
在C++ STL(标准模版库)中,可以使用构造函数来创建列表(list)。列表是一个双向链表,允许在 O(1) 的时间内在链表的任意位置插入和删除元素。
使用默认构造函数创建一个空的列表非常简单:
#include <list>
using namespace std;
int main()
{
list<int> mylist; // 创建一个空的列表
return 0;
}
除了使用默认构造函数来创建空列表,还可以在创建列表时初始化元素。通过将一个任意数量的值传递给列表构造函数,即可创建一个包含给定元素的列表。
#include <list>
using namespace std;
int main()
{
// 创建一个包含三个元素的列表
list<int> mylist = {10, 20, 30};
return 0;
}
除了在创建列表时初始化元素外,还可以使用插入函数来向列表添加元素。std::list
提供了多种插入函数,可以在列表的任意位置插入元素。
#include <list>
using namespace std;
int main()
{
list<int> mylist {10, 20, 30};
// 在列表开头插入一个元素
mylist.push_front(5);
// 在列表结尾插入一个元素
mylist.push_back(40);
// 在列表的第二个元素后插入一个元素
auto it = mylist.begin();
it++;
mylist.insert(it, 15);
return 0;
}
还可以使用范围构造函数,以指定序列的首元素和尾元素来创建列表。
#include <list>
#include <vector>
using namespace std;
int main()
{
vector<int> vec {10, 20, 30};
// 使用范围构造函数创建列表
list<int> mylist(vec.begin(), vec.end());
return 0;
}
在 C++ STL 中,可以使用构造函数来创建列表,并可以使用插入函数在列表的任意位置添加元素。列表可用于需要高效地在任意位置添加和删除元素的情况。