Vector的一般用法

原创 2018年04月16日 21:48:21

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);   


               


收藏助手
不良信息举报
您举报文章:Vector的一般用法
举报原因:
原因补充:

(最多只允许输入30个字)