话说vector
来源:互联网 发布:智慧芽数据库 编辑:程序博客网 时间:2024/06/01 23:31
1、把vector当数组看吧(实际数组是静态空间,配置后不能改变,但vector可以改变),读取跟数组一样,是常量时间。所以有了fornt(),back(),operator[]操作;
2、因为vector可改变大小与位置,于是比数组的操作多出了:insert(),erase(),resize(),push_back(),pop_back()等操作,这些操作或使空间重新分配,或使数据移动,所以执行这些操作要重新获取迭代器再对其进行操作;
3、vector的迭代器,想想数组指针能做什么操作就可以了,双向迭代器(前向迭代器、反向迭代器),随机迭代器;
4、vector的push_front(),pop_front()呢?vector就是array,new/malloc/realloc的结合体,new/realloc后,好像只能从“屁股”后面插吧!实在不行,看到vector就摸摸屁股,自然就懂了。
5、STL规范:
A、插入:查到标出所插节点的前方
B、容器迭代器遵循:前闭后开规范,比如 *begin()的值存在,*end()的值不存在。
2、因为vector可改变大小与位置,于是比数组的操作多出了:insert(),erase(),resize(),push_back(),pop_back()等操作,这些操作或使空间重新分配,或使数据移动,所以执行这些操作要重新获取迭代器再对其进行操作;
3、vector的迭代器,想想数组指针能做什么操作就可以了,双向迭代器(前向迭代器、反向迭代器),随机迭代器;
4、vector的push_front(),pop_front()呢?vector就是array,new/malloc/realloc的结合体,new/realloc后,好像只能从“屁股”后面插吧!实在不行,看到vector就摸摸屁股,自然就懂了。
5、STL规范:
A、插入:查到标出所插节点的前方
B、容器迭代器遵循:前闭后开规范,比如 *begin()的值存在,*end()的值不存在。
0 0
- 话说vector
- 话说
- 话说##
- 浅谈容器Vector ,话说ValueMap的一般使用。Cocos2dx 3.0 过渡篇
- 话说“浪漫”
- 齐叔有话说
- 话说分派
- 话说开篇
- 话说技术
- 话说 水浒传
- 话说多线程
- 话说罗盘
- 李阳有话说:
- 话说程序员
- 话说女人
- 话说勇敢
- 话说---记忆
- 话说精英
- Knockout.js及MVVM模式介绍
- acm-UVA10071(水题)
- 二叉树测试,递归遍历,随后加上非递归遍历
- Divisibility+dfs+剪枝
- 关于Java的事件分派机制及两个可能的语言扩展
- 话说vector
- QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)
- ConcurrentModificationException异常解决办法
- 学习的网站
- 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,
- MDI父窗体和子窗体之间怎么传值?
- Linux文件系统
- 解决安装win7后ubuntu无法启动问题
- hdu 1875 畅通工程再续