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