STL deque遍历

STL deque遍历教程

如果我们需要遍历 STL 中的 deque 容器可以使用 size 获取其长度,并使用索引遍历、或者直接使用 C++ 11 的 for 循环进行遍历、也可以使用迭代器的方式进行遍历。

STL deque遍历

语法

for (int i = 0; i < values.size(); i++) { //values[i] }

参数

参数 描述
values 需要访问的数组。

说明

通过 for 循环 和 size 遍历 deque。

STL deque遍历

语法

for (auto&& value : values){ // }

参数

参数 描述
values 需要访问的数组。
value 遍历得到的每一个元素。

说明

通过 C++11 的循环可以遍历每一个元素。

STL deque迭代器遍历

语法

for (auto first = values.begin(); first < values.end(); ++first) { cout << *first << " "; }

参数

参数 描述
values 需要访问的数组。

说明

通过迭代器的形式可以遍历每一个元素。

案例

使用size遍历deque

通过使用 size 获取数组长度加上 for 循环遍历每一个元素

#include <iostream> #include <deque> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; deque<string> deq{"Hello", "HaiCoder", "haicoder.net"}; for(int i = 0; i < deq.size(); i++) { cout << "deq = " << deq[i] << endl; } return 0; }

因为,这里需要使用 C++ 11,因此,我们在 Linux 下使用 g++ 进行编译,具体命令如下:

g++ vector.cpp -std=c++11

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

46_C STL deque遍历.png

我们使用了 size 获取 deque 的长度,接着,使用 for 循环遍历 deque 中的每一个元素的值。

使用C++11循环遍历deque

通过使用 C++11 的循环遍历数组的每一个元素

#include <iostream> #include <deque> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; deque<string> values{"Hello", "HaiCoder", "haicoder.net"}; for (auto&& value : values) { cout << "Val = " << value << endl; } return 0; }

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

47_C STL deque遍历.png

我们使用了 C++ 11 的 for 循环遍历 deque 中的每一个元素的值。

使用迭代器遍历deque

通过使用迭代器遍历数组的每一个元素

#include <iostream> #include <deque> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; deque<string> values{"Hello", "HaiCoder", "haicoder.net"}; for (auto first = values.begin(); first < values.end(); ++first) { cout << *first << endl; } return 0; }

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

48_C STL deque遍历.png

我们通过使用迭代器的形式访问了 deque 的每一个元素。

STL deque遍历总结

如果我们需要遍历 STL 中的 deque 容器可以使用 size 获取其长度,并使用索引遍历、或者直接使用 C++ 11 的 for 循环进行遍历、也可以使用迭代器的方式进行遍历。