C++ STL教程:深入理解vector基础操作
需积分: 9 165 浏览量
更新于2024-09-14
收藏 137KB DOC 举报
"C++_STL开发技术导引--1vector的基础应用"
本文将深入探讨C++中的标准模板库(STL)中的一个重要容器——`vector`,它是一种动态数组,提供了灵活的数组操作功能。在C++编程中,`vector`被广泛用于存储和管理元素序列。
首先,`vector`的创建是通过`vector<int>`定义的,其中`int`表示存储的数据类型。在`main`函数中,我们看到`vector<int> v`初始化了一个空的`vector`对象`v`。
`push_back`方法用于在`vector`末尾添加元素。如`v.push_back(20)`,`v.push_back(26)`和`v.push_back(39)`分别将20、26和39添加到`v`的末尾。
`insert`方法允许我们在`vector`的特定位置插入元素。例如,`v.insert(v.begin()+3,9)`在下标为3的位置(即第四个元素之前)插入了值9,`v.insert(v.begin(),5)`在`vector`开头插入5,而`v.insert(v.end(),11)`在末尾插入11。
在遍历`vector`时,我们可以使用迭代器。`vector<int>::iterator i, iend`定义了两个迭代器,`i`用于遍历,`iend`指向`vector`的结束位置。`for`循环遍历`vector`并打印元素。同样,`vector<int>::reverse_iterator ri, ried`定义了反向迭代器,用于反向遍历`vector`。
`front()`方法返回`vector`的第一个元素,如`v.front()`;而`rend()`返回反向迭代器的结束位置,`rbegin()`返回反向迭代器的开始位置,这两个方法用于反向遍历。
`v2`是另一个`vector`实例,展示了如何用`push_back`方法添加元素,以及如何通过`print`函数显示`vector`的内容。`print`函数不仅打印`vector`的元素,还提供了一些额外的信息,如`empty`(判断`vector`是否为空)、`size`(获取`vector`的元素数量)、`max_size`(返回`vector`能容纳的最大元素数量)和`capacity`(当前分配的内存大小,可容纳的元素数量)。
`swap`函数用于交换两个`vector`的内容,如`swap(v, v2)`。`reserve`方法用于预先分配内存,`v2.reserve(30)`确保`v2`至少有30个元素的空间,即使目前它可能并不需要这么多。
本示例介绍了C++`vector`容器的基本操作,包括初始化、插入元素、遍历、访问元素、交换`vector`以及查看容量信息。这为理解和使用`vector`作为动态数组的高级功能奠定了基础。
240 浏览量
点击了解资源详情
点击了解资源详情
2008-08-06 上传
108 浏览量
104 浏览量
166 浏览量
125 浏览量
436 浏览量
wjb920223
- 粉丝: 0
- 资源: 1
最新资源
- 有向图关键路径问题 三种算法求解
- 与短消息开发相关的GSM AT指令
- C#可定制的数据库备份和恢复程序
- 30分钟搞定BASH脚本编程
- ALTERA_EPM3032A DATASHEET
- ASP.NET 2.0创建母版页引来的麻烦-js无用
- AO+c#(.NET)开发
- ARM7TDMI-S(Rev 4)技术参考手册
- 利用js+div来控制打印
- 【IBM/Oracle工程实例/实践 Oracle 10gRs(10.2.0.1) 数据库在AIX5L 上的安装】
- Linux 初学者入门优秀教程
- 最好的51单片机教程,信不信由你
- 考研英语翻译关键词组
- 基于XML的Web文本挖掘模型的研究与设计
- C语言 课程设计电子通讯录
- 北京大学数字图像处理课件