优秀的编程知识分享平台

网站首页 > 技术文章 正文

C++ std list用法简述(c++的list用法)

nanyue 2024-10-08 05:38:04 技术文章 6 ℃


std::list 是 C++ 标准库中的一个容器,它实现了双向链表。std::list 提供了一组方法来操作双向链表,允许在链表的任何位置高效地插入、删除和访问元素。以下是 std::list 的详细用法:

包含头文件

#include <list>

创建列表

std::list<int> myList; // 创建一个空列表 std::list<int> myList = {1, 2, 3, 4, 5}; // 创建包含初始值的列表

插入元素

myList.push_back(6); // 在列表末尾插入元素 myList.push_front(0); // 在列表头部插入元素 auto it = myList.insert(std::next(myList.begin(), 2), 10); // 在指定位置插入元素

删除元素

myList.pop_back(); // 删除列表末尾的元素 myList.pop_front(); // 删除列表头部的元素 myList.erase(std::next(myList.begin(), 2)); // 删除指定位置的元素

访问元素

int firstElement = myList.front(); // 获取列表头部的元素 int lastElement = myList.back(); // 获取列表末尾的元素

遍历列表

for (auto it = myList.begin(); it != myList.end(); ++it) { std::cout << *it << " "; }

获取列表大小

size_t size = myList.size(); // 获取列表的大小

清空列表

myList.clear(); // 清空列表中的所有元素

判断列表是否为空

bool isEmpty = myList.empty(); // 判断列表是否为空

其他常用操作

  • std::list 还提供了许多其他方法,如 splice()、sort()、reverse() 等,可以用来执行更复杂的操作。

std::list 的一个优点是,由于它是双向链表,因此在任意位置执行插入和删除操作的时间复杂度都是常量时间。这使得 std::list 在某些情况下比 std::vector 更加高效。

最近发表
标签列表