创建一个vector容器
用iterator迭代器获取容器的头和尾
遍历容器中元素
#include<iostream>
using namespace std;
#include "vector"
#include "iterator"
int main() {
vector<int> v;
v.push_back(10);
v.push_back(20);
v.push_back(30);
vector<int>::iterator it_begin=v.begin();
vector<int>::iterator it_end = v.end();
for (; it_begin != it_end;it_begin++) {
cout << *it_begin << endl;
}
}
用for_each遍历元素
提供首尾迭代器,和回调函数
算法将元素拿到后,给回调函数,回调函数中对元素进行操作
#include<iostream>
using namespace std;
#include "vector"
#include "iterator"
#include "algorithm"
void func(char c)
{
cout << c << endl;
}
int main() {
vector<char> v;
v.push_back('h');
v.push_back('e');
v.push_back('l');
v.push_back('l');
v.push_back('o');
vector<char>::iterator it_begin=v.begin();
vector<char>::iterator it_end = v.end();
for_each(it_begin,it_end,func);
}
嵌套容器
vector容器中嵌套vector容器
#include <iostream>
using namespace std;
#include <vector>
int main()
{
vector<int> p1;
vector<int> p2;
vector<int> p3;
p1.push_back(10);
p2.push_back(20);
p3.push_back(30);
p1.push_back(40);
p2.push_back(50);
p3.push_back(60);
p1.push_back(70);
p2.push_back(80);
p3.push_back(90);
vector<vector<int>> vp;
vp.push_back(p1);
vp.push_back(p2);
vp.push_back(p3);
vector<vector<int>>::iterator it_begin = vp.begin();
vector<vector<int>>::iterator it_end = vp.end();
for (; it_begin != it_end; it_begin++) {
vector<int>::iterator pit = (*it_begin).begin();
vector<int>::iterator pit_end = (*it_begin).end();
for (; pit != pit_end;pit++) {
cout << *pit << endl;
}
}
return 0;
}
仿函数回调
#include<iostream>
using namespace std;
#include "vector"
#include "algorithm"
class printv {
public:
void operator()(int &a) {
cout << a << endl;
}
};
int main() {
vector<int> v;
v.push_back(10);
v.push_back(20);
v.push_back(30);
for_each(v.begin(), v.end(),printv());
return 0;
}