1、vector 举栗子(演示vector常用的成员函数)
#include <iostream>
#include <vector>
using namespace std;
template<class T>
void PrintVector( T s, T e)
{
for(; s != e; ++s)
cout << * s << " ";
cout << endl;
}
int main(){
int a[5] = { 1,2,3,4,5 };
vector<int> v(a,a+5);
cout << "1) " << v.end() - v.begin() << endl;
cout << "2) ";
PrintVector(v.begin(),v.end());
v.insert(v.begin() + 2, 13);
cout << "3) ";
PrintVector(v.begin(),v.end());
v.erase(v.begin() + 2);
cout << "4) ";
PrintVector(v.begin(),v.end());
vector<int> v2(4,100);
v2.insert(v2.begin(),v.begin()+ 1,v.begin()+3);
cout << "5) v2: "; PrintVector(v2.begin(),v2.end());
v.erase(v.begin() + 1, v.begin() + 3);
cout << "6) ";
PrintVector(v.begin(),v.end());
return 0;
}
2、用vector实现二维数组:vector套vector
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int> > v(3);
for(int i = 0;i < v.size(); ++i)
for(int j = 0; j < 4; ++j)
v[i].push_back(j);
for(int i = 0;i < v.size(); ++i) {
for(int j = 0; j < v[i].size(); ++j)
cout << v[i][j] << " ";
cout << endl;
}
return 0;
}
2、关于deque
- 所有适用于 vector的操作都适用于 deque。
- deque还有 push_front(将元素插入到前面) 和pop_front(删除最前面的元素)操作,复杂度是O(1)