C++ STL 中的 vector 操作详解
需积分: 33 45 浏览量
更新于2024-10-09
1
收藏 4KB TXT 举报
"本文主要讨论C++中的STL容器,特别是vector、list和deque的使用。我们将详细探讨vector的操作,包括初始化、插入与删除元素、访问元素以及迭代器的使用。然后简要介绍list容器的主要操作。"
在C++的STL(标准模板库)中,vector是一种动态数组,它提供了高效且灵活的数组操作。vector的主要优点在于它的随机访问能力,允许快速访问任意位置的元素。
1. vector的初始化:
- `vector<string> vec;` 创建一个空的string类型的vector。
- `vector<int> vec(10);` 初始化一个包含10个默认值(0)的int类型vector。
- `vector<float> vec(10, 0.5);` 初始化一个包含10个值为0.5的float类型vector。
2. vector的基本操作:
- `push_back()` 在vector末尾添加一个元素。
- `pop_back()` 删除vector的最后一个元素。
- `size()` 返回vector中元素的数量。
- 访问元素:通过索引`vec[index]`可以直接访问,但要注意越界问题。
- 插入和删除元素:除了`push_back()`和`pop_back()`外,还可以使用`insert()`和`erase()`函数在指定位置插入或删除元素。
3. 迭代器的使用:
- `vector<T>::iterator iter;` 声明一个指向vector中元素的迭代器。
- `begin()` 返回指向vector第一个元素的迭代器。
- `end()` 返回指向vector最后一个元素之后的迭代器(表示容器的结束位置)。
- `erase(iter)` 使用迭代器删除元素,迭代器会失效,需要更新。
- 迭代器可以用于遍历和修改vector的所有元素。
4. list容器:
- list是双向链表实现的容器,它支持快速的插入和删除,但在随机访问元素时效率较低。
- `push_back()` 和 `pop_back()` 与vector类似,但它们分别在list的末尾添加或删除元素。
- `push_front()` 在list的开头添加元素。
- `pop_front()` 删除list的第一个元素。
- list的迭代器也支持`++`和`--`操作,但不支持随机访问。
在实际编程中,选择vector还是list取决于具体的需求。如果需要频繁地在容器的两端添加或删除元素,list可能是更好的选择;如果需要快速访问任意位置的元素,vector则更合适。deque(双端队列)是另一种容器,它结合了vector和list的优点,可以在两端进行快速插入和删除,同时支持随机访问。
2008-11-29 上传
2024-06-06 上传
2023-11-10 上传
2023-10-26 上传
2023-05-27 上传
2023-08-21 上传
2023-11-07 上传
2023-10-18 上传
2023-06-07 上传
fanfusuzi2010
- 粉丝: 58
- 资源: 5
最新资源
- 计算机二级Python真题解析与练习资料
- 无需安装即可运行的Windows版XMind 8
- 利用gif4j工具包实现GIF图片的高效裁剪与压缩
- VFH描述子在点云聚类识别中的应用案例
- SQL解释器项目资源,助力计算机专业毕业设计与课程作业
- Java实现Windows本机IP定时上报到服务器
- Windows Research Kernel源码构建指南及工具下载
- 自定义Python插件增强Sublime文本编辑器功能
- 自定义Android屏幕尺寸显示及Ydpi计算工具
- Scratch游戏编程源码合集:雷电战机与猫鼠大战
- ***网上教材管理系统设计与实现详解
- Windows环境下VSCode及Python安装与配置教程
- MinGW-64bit编译opencv库适配Qt5.14
- JavaScript API 中文离线版手册(CHM格式)
- *** 8 MVC应用多语言资源管理技巧
- 互联网+培训资料深度解析与案例分析