1.vector的创建(初始化)
--> vector <int> v; //只创建,不进行任何操作.
--> vector <int> v(n,1); //创建并初始化,对n个元素赋初值1;
--> vector <int> v(n); //初始化n个初值为0的元素;
--> vector <int> s(v); //用已存在的v去初始化s;
2.压入数据/弹出数据;
--> v.push_back(value); //把数字压入容器尾部;
--> v.pop_back(); //弹出容器尾部的一个数据;
3.下标操作;
--> v.at(n); //n代表下标;(优点,有越界检测)
--> v[n]; //数组方式访问(不会检测是否越界,直接输出地址);
4.插入数据;
--> v.insert(地址,插入值); //如v.insert(v.begin(),5);向开头插入一个值5;
--> v.insert(地址,数量,插入值) //如v.insert(v.begin(),5,0);向开头插入5个0;
--> v.insert(v的地址,另一个容器的范围)
如 再定义一个vector s;
v.insert(v.begin(),s.begin(),s.end());
向v的开头插入s的所有元素;
5.元素删除;
--> v.erase(地址); //删除该处的元素;
--> v.erase(v.begin(),v.begin()+2);//范围删除;
6.vector的大小,容量;
--> v.size(); //返回容器大小,(当前占用);
--> v.capacity(); //容器容量,有些元素已经分配内存,但并未占用;
7.容器翻转 (STL)
--> reverse(v.begin(),v.end()); //在<algorithm>里;
8.预先设置大小,容量;
--> v.resize(n); //大小设置为n;
--> v.reserve(m); /容量设置为m;
9.反复使用一个数组,清空;
--> v.clear(); //相当于v.erase(v.begin(),v.end());
10.每次使用后销毁,
-->vector <int> ().swap(v);