当前位置:实例文章 » 其他实例» [文章]【C++初阶】list

【C++初阶】list

发布人:shili8 发布时间:2025-01-09 22:35 阅读次数:0

**C++ 初阶:List**

在 C++ 中,`std::list` 是一种动态序列容器,它支持双向链表的结构。相比于其他类型的容器,如 `std::vector` 和 `std::deque`,`std::list` 在插入和删除元素时具有更好的性能。

**什么是List?**

一个 List(列表)是一种线性数据结构,它由一系列零散的结点组成,每个结点包含一个值和一个或多个指向相邻结点的引用。List 的每个结点都有两个指针:一个指向前一个结点,另一个指向后一个结点。

**List 的特性**

1. **动态大小**: List 的大小可以动态变化,不需要事先分配固定大小的内存。
2. **双向链表结构**: List 支持双向链表的结构,每个结点都有两个指针,分别指向前一个和后一个结点。
3. **插入和删除元素时性能好**: List 在插入和删除元素时,可以直接修改相应结点的指针,不需要移动其他结点。

**List 的使用场景**

1. **频繁插入或删除元素**: 当程序需要频繁插入或删除元素时,List 是一个合适的选择。
2. **需要快速找到中间元素**: List 支持双向链表结构,可以快速找到中间元素。
3. **需要动态大小**: 当程序需要动态调整容器大小时,List 是一个合适的选择。

**C++ 中的 List**

在 C++ 中,`std::list` 是一种模板类,它支持双向链表的结构。`std::list` 提供了以下成员函数:

* `push_back()`: 在结尾插入元素。
* `push_front()`: 在头部插入元素。
* `pop_back()`: 删除结尾元素。
* `pop_front()`: 删除头部元素。
* `insert()`: 插入指定位置的元素。
* `erase()`: 删除指定位置的元素。

**示例代码**

cpp#include <iostream>
#include <list>

int main() {
 // 创建一个 List std::list<int> myList;

 // 在结尾插入元素 myList.push_back(10);
 myList.push_back(20);
 myList.push_back(30);

 // 输出 List 中的元素 for (auto it = myList.begin(); it != myList.end(); ++it) {
 std::cout << *it << " ";
 }
 std::cout << std::endl;

 // 在头部插入元素 myList.push_front(5);
 myList.push_front(15);

 // 输出 List 中的元素 for (auto it = myList.begin(); it != myList.end(); ++it) {
 std::cout << *it << " ";
 }
 std::cout << std::endl;

 // 删除结尾元素 myList.pop_back();

 // 输出 List 中的元素 for (auto it = myList.begin(); it != myList.end(); ++it) {
 std::cout << *it << " ";
 }
 std::cout << std::endl;

 return0;
}


**注释**

* `std::list` 是一种模板类,它支持双向链表的结构。
* `push_back()` 和 `push_front()` 函数用于在结尾和头部插入元素。
* `pop_back()` 和 `pop_front()` 函数用于删除结尾和头部元素。
* `insert()` 和 `erase()` 函数用于插入和删除指定位置的元素。

**总结**

`std::list` 是一种动态序列容器,它支持双向链表的结构。相比于其他类型的容器,如 `std::vector` 和 `std::deque`,`std::list` 在插入和删除元素时具有更好的性能。`std::list` 的使用场景包括频繁插入或删除元素、需要快速找到中间元素以及需要动态大小等情况。在 C++ 中,`std::list` 提供了成员函数如 `push_back()`、`push_front()`、`pop_back()`、`pop_front()`、`insert()` 和 `erase()` 等用于操作 List。示例代码展示了如何使用这些成员函数来插入和删除元素,以及输出 List 中的元素。

其他信息

其他资源

Top