
在C++中,遍历数据结构(如数组、向量、列表、映射等)时,有多种技巧可以使用,以下是一些常用的技巧:
- 使用for循环进行遍历:
int arr[] = {
1,
2,
3,
4,
5};
for(
int i =
0; i <
5; i++) {
cout << arr[i] <<
" ";
}
- 使用迭代器进行遍历:
vector<
int> vec = {
1,
2,
3,
4,
5};
for(
auto it = vec.
begin(); it != vec.
end(); it++) {
cout << *it <<
" ";
}
- 使用范围for循环进行遍历:
vector<
int> vec = {
1,
2,
3,
4,
5};
for(
int x : vec) {
cout << x <<
" ";
}
- 使用STL算法进行遍历:
vector<
int> vec = {
1,
2,
3,
4,
5};
for_each(vec.
begin(), vec.
end(), [](
int x) {
cout << x <<
" ";
});
- 使用逆向迭代器进行逆序遍历:
vector<
int> vec = {
1,
2,
3,
4,
5};
for(
auto it = vec.
rbegin(); it != vec.
rend(); it++) {
cout << *it <<
" ";
}
- 对于映射(map)类型,可以使用迭代器遍历键值对:
map<string,
int> myMap = {{
"a",
1}, {
"b",
2}, {
"c",
3}};
for(
auto it = myMap.
begin(); it != myMap.
end(); it++) {
cout << it->first <<
" : " << it->second << endl;
}
这些是一些常用的C++遍历技巧,根据具体情况选择合适的遍历方法。