欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > C++之list的使用

C++之list的使用

2025/2/22 16:51:28 来源:https://blog.csdn.net/weixin_42300449/article/details/143576616  浏览:    关键词:C++之list的使用

在C++中,std::list 是一个双向链表,它允许在列表的任何位置高效地插入和删除元素。以下是一些基本的使用方式:

包含头文件

要使用 std::list,首先需要包含头文件 <iostream>/list>

#include <iostream>
#include <list>

创建 list

// 创建一个空的 list
std::list<int> lst;// 使用初始化列表创建 list
std::list<int> lst = {1, 2, 3, 4, 5};

添加元素

// 在 list 末尾添加一个元素
lst.push_back(6);// 在 list 开头添加一个元素
lst.push_front(0);// 在特定位置添加一个元素
auto it = std::next(lst.begin(), 2); // 定位到第三个元素的位置
lst.insert(it, 7);

删除元素

// 删除特定位置的元素
it = std::next(lst.begin(), 2); // 定位到第三个元素的位置
lst.erase(it);// 删除特定值的所有元素
lst.remove(7);// 删除从 pos 到 pos + n 的元素
auto end = std::next(it, 3); // 从第三个元素开始,删除三个元素
lst.erase(it, end);

访问元素

std::list 不支持随机访问,因此不能使用下标访问元素。但可以使用迭代器访问元素。

// 使用迭代器访问元素
for (auto it = lst.begin(); it != lst.end(); ++it) {std::cout << *it << " ";
}

修改元素

// 使用迭代器修改元素
for (auto it = lst.begin(); it != lst.end(); ++it) {if (*it == 2) {*it = 20; // 修改值为 20break;}
}

遍历 list

// 使用范围基 for 循环
for (int value : lst) {std::cout << value << " ";
}// 使用传统 for 循环
for (auto it = lst.begin(); it != lst.end(); ++it) {std::cout << *it << " ";
}

获取 list 信息

// 获取 list 的大小
size_t size = lst.size();// 检查 list 是否为空
bool empty = lst.empty();

清空 list

lst.clear();

交换两个 list 的内容

std::list<int> lst2 = {7, 8, 9};
lst.swap(lst2);

合并两个 list

std::list<int> lst2 = {7, 8, 9};
lst.merge(lst2); // 合并两个有序 list,假设它们已经排序

排序 list

lst.sort(); // 排序 list,使用 operator< 进行比较

反转 list

lst.reverse();

std::list 提供了许多其他功能和操作,这些只是最基本的一些。正确使用 std::list 可以极大地提高程序的灵活性和效率,尤其是在需要频繁插入和删除操作的场景中。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com