std::list遍历
时间: 2023-05-04 08:05:42 浏览: 926
std::list 是 C++ STL 标准模板库中的一个容器,是一个双向链表,可以在链表中插入、删除元素,同时支持前向迭代器、反向迭代器等,非常灵活。
在使用 std::list 进行遍历的时候,可以使用迭代器来实现,在遍历时,只需要使用迭代器访问每个元素即可。具体操作如下:
1. 创建一个 std::list 对象,并向其中插入若干个元素;
2. 使用 std::list 的 begin() 函数,获取链表头部的迭代器,并将其赋值给一个迭代器对象;
3. 通过迭代器对象来遍历 std::list 中的每个元素,直到迭代器指向链表尾部的 end() 函数返回的迭代器。
4. 在遍历时可以使用 ++ 运算符将迭代器移到下一个元素,也可以使用 * 运算符访问当前元素的值。
示例如下:
```cpp
#include <iostream>
#include <list>
int main() {
std::list<int> myList;
myList.push_back(3);
myList.push_back(5);
myList.push_back(1);
std::list<int>::iterator it = myList.begin();
while (it != myList.end()) {
std::cout << *it << " ";
++it;
}
return 0;
}
```
以上代码创建了一个 std::list 容器,并向其中插入了 3 个整数,使用迭代器遍历了每个元素并打印输出。输出结果为:3 5 1。
需要注意的是,在遍历 std::list 容器时,应该避免使用迭代器来插入、删除元素,因为这样会破坏迭代器的有效性,可能导致错误的结果。如果需要对容器进行修改,应该使用其他函数来实现。