📜  如何在C++ STL中使用构造函数创建列表(1)

📅  最后修改于: 2023-12-03 14:52:40.741000             🧑  作者: Mango

如何在C++ STL中使用构造函数创建列表

在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 中,可以使用构造函数来创建列表,并可以使用插入函数在列表的任意位置添加元素。列表可用于需要高效地在任意位置添加和删除元素的情况。