C++ vector简单使用
2021/9/14 22:04:59
本文主要是介绍C++ vector简单使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
模板类vector
详细介绍
- 在计算中,vector(矢量)对应数组。
- 在数学中,可以使用N个分量来表示N维数学矢量,因此就从这方面讲,数学矢量类似一个N维数组。然而数学矢量还有一些计算机矢量不具备的其他特征,如内乘积和外乘积。
- 计算矢量存储了一组可随机访问的值。
- 头文件 #include <vector>
操作
- 创建 vector<type> variable(size);
#include <vector> using namespace std; vector<int> ratings(5); //5个int 的vector int n; cin >> n; vector<double> scores(n); //n个double的vector //由于运算符[]被重载,因此创建vector对象后,可以使用通常的数组表示法来访问各个元素: rating[0] = 9; for(int i = 0; i < n; i++) cout << scores[i] << endl;
- 可对矢量执行的操作 一
-
size(): 返回容器中元素的数目
-
swap(vector, vector): 交换两个容器的内容
-
begin(): 返回一个指向容器中第一个元素的迭代器
-
end(): 返回一个表示超过容器尾的迭代器
迭代器(iterator): 一个指针,可以执行类似解除引用、递增操作的对象
-
vector<double>::iterator pd; pd = scores.begin(); *pd = 22.3; ++pd; //也可以使用 C++11 自动推断指针类型 auto pd = scores.begin(); //由迭代器,上述for内容可以改为如下: for(pd = scores.begin(); pd != scores.end(); ++pd) cout << *pd << endl;
-
可对矢量执行的操作 二
- push_back(val): 将元素添加到末尾。
- erase(): 接收两个迭代器参数,这些参数指定要删除的区间 [ p1, p2)
- insert(): 功能与erase()相反,它接受三个迭代器参数。
- 第一个参数:指定新元素的插入位置
- 第二个参数、第三个参数:被插入区间 [p1, p2)
-
区间概念图
#### 对矢量可执行的其他操作(通常要对数组执行的搜索、排序、随机排序等)STL初涉:for_each( )、random_shuffle( )、sort( ) -
for_each( )
-
random_shuffle( )
-
sort( )
vector<Review>::iterator pr; for(pr = books.begin(); pr!= books.end(); pr++) ShowReview(*pr); //迭代动作 //前两个参数为定义容器中区间的迭代器,最后一个是指向函数的指针(函数对象) for_each(books.begin(), books.end(), ShowReview); //乱序动作 //打乱books.begin()—>books.end() 范围的数据排序 random_shuffle(books.begin(), books.end()); //排序动作 //以 < 方式 vector<int> coolstuff; ... sort(coolstuff.begin(), coolstuff.end()); //如果自定义对象, 就需要提供xxxx < 比较函数代入排序 sort(class.begin(), class.end(), xxxx);
这篇关于C++ vector简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11国产医疗级心电ECG采集处理模块
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南