如果我们需要遍历 STL 中的 deque 容器可以使用 size 获取其长度,并使用索引遍历、或者直接使用 C++ 11 的 for 循环进行遍历、也可以使用迭代器的方式进行遍历。
for (int i = 0; i < values.size(); i++) {
//values[i]
}
参数 | 描述 |
---|---|
values | 需要访问的数组。 |
通过 for 循环 和 size 遍历 deque。
for (auto&& value : values){
//
}
参数 | 描述 |
---|---|
values | 需要访问的数组。 |
value | 遍历得到的每一个元素。 |
通过 C++11 的循环可以遍历每一个元素。
for (auto first = values.begin(); first < values.end(); ++first) {
cout << *first << " ";
}
参数 | 描述 |
---|---|
values | 需要访问的数组。 |
通过迭代器的形式可以遍历每一个元素。
通过使用 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
,如下图所示:
我们使用了 size 获取 deque 的长度,接着,使用 for 循环遍历 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
,如下图所示:
我们使用了 C++ 11 的 for 循环遍历 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
,如下图所示:
我们通过使用迭代器的形式访问了 deque 的每一个元素。
如果我们需要遍历 STL 中的 deque 容器可以使用 size 获取其长度,并使用索引遍历、或者直接使用 C++ 11 的 for 循环进行遍历、也可以使用迭代器的方式进行遍历。