c++遍历容器
时间: 2024-01-05 16:10:06 浏览: 40
C++中有多种容器,包括vector、deque、list、set、map等等。对于每一种容器,遍历的方式也不完全相同,以下是几种常见容器的遍历方式:
1. vector、deque、list容器的遍历方式:
```c++
vector<int> vec = {1, 2, 3, 4, 5};
for(auto it = vec.begin(); it != vec.end(); ++it){
cout << *it << " ";
}
```
```c++
deque<int> deq = {1, 2, 3, 4, 5};
for(auto it = deq.begin(); it != deq.end(); ++it){
cout << *it << " ";
}
```
```c++
list<int> lst = {1, 2, 3, 4, 5};
for(auto it = lst.begin(); it != lst.end(); ++it){
cout << *it << " ";
}
```
2. set容器的遍历方式:
```c++
set<int> s = {1, 2, 3, 4, 5};
for(auto it = s.begin(); it != s.end(); ++it){
cout << *it << " ";
}
```
3. map容器的遍历方式:
```c++
map<int, string> m = {{1, "one"}, {2, "two"}, {3, "three"}};
for(auto it = m.begin(); it != m.end(); ++it){
cout << it->first << " " << it->second << endl;
}
```
以上是几种常见容器的遍历方式,其中auto关键字可以自动推导出容器中元素的类型。对于const容器,需要在迭代器定义时加上const关键字,例如:
```c++
const vector<int> vec = {1, 2, 3, 4, 5};
for(auto it = vec.cbegin(); it != vec.cend(); ++it){
cout << *it << " ";
}
```