http://blog.csdn.net/google19890102/article/details/51701144
1.vector對象的定義和初始化:
1)定義空的vector
vector<T> v;
2) 定義一個vector的副本
vector<T> v1(v);
3) 定義並初始化
vector<T> v2(n, i);
4) 定義並指定初始長度
vector<T> v3(n);
2.vector的基本操作
1) 插入
①在尾部添加元素,使用push_back()函數
②在指定位置插入元素,使用insert()函數
insert(p, t);
//在迭代器p之前插入值爲t的元素
2) 刪除
①使用erase()方法刪除指定元素
erase(p);
//刪除迭代器p所指向的元素
vector<int>::iterator it;
for(it = v.begin(); it != v.end(); ) {
if(*it == 1) {
v.erase(it++);
}
else it++;
}
//不能用it<v.end(),只能用!=
//for循環不要寫it++
//刪除vector中值爲1的元素,注意一定是it++,不是++it
//刪除之後,原來那個it就失效了,需要向後移一個,
//否則for循環裏面判斷就會崩潰
②使用clear()方法清空所有元素
③使用pop_back()方法刪除末尾元素
3)遍歷
①通過下標
vector<int>::size_type ix;
for (ix = 0; ix != v.size(); ix ++){
printf("%d\t", v[ix]);
}
②利用迭代器
vector<int>::iterator it;
for (it = v.begin(); it != v.end(); it ++){
printf("%d\t", *it);
}
3.其他操作
size() 返回vector的大小