Vector的使用方法和自我理解
vector容器的作用,在于你在储存一些数的时候,可以很方便的改变他的大小,利用下标可以同数组一样轻松的遍历,却比数组强的是:vector可以删去不用的元素,已达到我们获取前一个数值;
1 基本操作(vector包含在头文件<vector>,作为一种容器使用)
(1).声明对象——vector<T> variable;
(2).插入元素 *(尾部) ——variable.push_back(a);
无限制的添加元素,容器的大小随着需求改变;
*(任意位置)——variable.insert(variable.begain()+2);
(3).访问元素 *(下标访问)——
for(int i=0;i<a.size();i++)cout << a[i]<< " ";
*(迭代器访问)——
vector<int> ::iterator t;//迭代器类型的变量for(t=a.begin();t!=a.end();t++)cout << *t << " ";
(4).删除元素 *(删除点)——veriable.erase(veriable.begin()+index)
删除index+1位置上的元素;
*(域删除)——veriable.erase(veriable.begin()+x,veriable.end()- y)
删除从x到y的区间;
(5).清空——vrriable.clear();
(6).获取最末尾的元素——veriable.back();
(7).删除最后一个元素——veriable.back();
(8).获取第一个元素——veriable.front();
二、排序方法;
升序(调用Sort()——包含在头文件<algorithm> )
sort(a.begin(),a.end(),);
降序(重写bool Comp(const & a ,const &b)函数)
bool Comp(const int &a,const int &b)
{return a>b;
}int main()
{sort(a.begin(),a.end(),Comp);
}
三、vector的二维性;
由于STL的容器都支持动态增长,可以随时使用vector.resize()来改变容器的容量,所以使用vector创建的数组就具有动态创建的特性。
1.声明——*vector<vector <int> >array(m) (m必不可少)
int main() {vector<vector <int> > array(4);vector<vector <int> > :: iterator oss; //二位数组的横向量;vector<int> :: iterator oaa;//二维数组的纵向量;for(oss = array.begin();oss!=array.end();oss++){(*oss).resize(10);}cout << "Row" << " :" << array.size()<< " " << "Column" << " :" << array[0].size() <<"\n";//array表示行;下标和迭代器可以混用;for(oss = array.begin();oss!=array.end();oss++){cout << '[';for(oaa = (*oss).begin();oaa!=(*oss).end();oaa++ ){cout << (*oaa) << " ";}cout << ']';cout << "\n";}return 0; }
——*vector<int> array[m];
一维不具备vector容器的性质;
int main() {vector<int>ss[4];for(int i = 0;i<4;i++)ss[i].resize(i);cout << "Row :" << sizeof(ss)<<" " << "Column :" <<ss[0].size() << endl;cout << "\n";for(int i=0;i<4;i++){cout << "[ ";for(int j=0;j<ss[i].size();j++){cout << " " << ss[i][j];}cout << " ]";cout << "\n" <<"\n";}return 0; }
转载于:https://www.cnblogs.com/7750-13/p/7202749.html
Vector的使用方法和自我理解相关推荐
- Thread线程notify方法的自我理解
感谢博主:http://zy19982004.iteye.com/blog/1626916 这篇博文给予我线程知识很大的帮助 知识背景:(1)wait().notify()均是Object的方法,故每 ...
- convertViewsetTag方法的一点理解
转自:http://blog.163.com/freemanls@126/blog/static/164585061201171210504864/ 前言 首先我们要知道setTag方法是干什么的,S ...
- 关于渗透的一些思路持续更新(自我理解)
关于渗透的一些思路持续更新(自我理解) 先回忆一下 准确的是17年才接触到渗透以及ddos 其他hei产东西就不介绍了 接触的自我感觉有点迟 从最开始我也是从阿D明小子那些很傻瓜化的软件走过来的 但是 ...
- Sparsity Quantization 之自我理解
Sparsity & Quantization 之自我理解 Sparsity Quantization DNN的最初的动力是以precise为中心,但随着DNN在Edge的推广,Latency ...
- 我的python之路一初识python的自我理解
初识python的自我理解 关于python的自我简记 我认识的python 怎么开始python的学习和使用 我尝试过的几个python学习的常用组合 关于python的自我简记 初识python是 ...
- 关于OpenGL ES 3D 光晕如何产生的自我理解
2019独角兽企业重金招聘Python工程师标准>>> 星空图的自我理解:可以看作一个透明的半径很大的天球,然后在其表面上绘制大小不一的点,这样便可以够成星空图. 如何产生光晕的自我 ...
- JVM学习笔记之-方法区,栈、堆、方法区的交互关系,方法区的理解,设置方法区大小与OOM,方法区的内部结构,方法区使用举例
栈.堆.方法区的交互关系 运行时数据区结构图 从线程共享与否的角度来看 栈,堆,方法区的交互关系 方法区的理解 方法区在哪里? <Java虚拟机规范>中明确说明:"尽管所有的方法 ...
- 用进程管理的方法进行自我时间管理
用进程管理的方法进行自我时间管理 操作系统为了实现大的吞吐量,处理器的高效利用,各类资源的平衡使用,短的周转时间,快的响应时间,有保障的截止时间,设计了很多进程调度算法.而人类的思想成果是可以迁移的, ...
- 1路电磁继电器模块的使用方法的直观理解
1路电磁继电器的使用方法的直观理解 使用的1路电磁继电器模块如下: 此为低电平触发的继电器,其中,NC为常闭端,NO为常开端,COM为常闭端,左侧就相当于一个单掷开关,右侧引脚为模块供电以及输入控制信 ...
最新文章
- 【项目管理】聊聊项目管理几点实践和理解(2)
- 获取的输入内容,没有被P标签包裹的文本和元素进行处理
- java 切面获取参数_每天分享一点Java知识(spring-aop)
- L - Two Ants Gym - 102823L
- 前端学习(1295):第三方模块npm
- leetcode之回溯backtracing专题5
- Nginx For Windows HTTP转发和负载
- 常见的问题:https://localhost:1158/em 无法打开
- 电商海报模板|psd分层海报素材轻松教你凸显你的主体产品!
- 全球AI人才只有2万多,仅3000人在求职 | 报告
- VScode 搭建 django 开发环境(Win Python3.71 django1.11.11)
- Web安全与Rational AppScan入门
- J2SE下的路径问题
- 创建和使用视图及异名
- 电脑之间利用串口传输文件
- 抖音数据统计_抖音大数据,抖音最全数据分析工具,全知道算你厉害!
- 2017AAAI召开 百度王海峰揭秘百度自然语音处理技术
- Number of Triplets
- 灰色预测方法预测温度matlab,灰色预测matlab代码怎么写
- C# 博思得 POSTEK 打印机 打码机 SDK 二次开发 指令打印
热门文章
- python要自学多长时间-怎么自学python,大概要多久?
- python搞笑代码-python有趣代码
- python学生管理系统界面-Python实现GUI学生信息管理系统
- python自学平台-Python学习交流平台与教程推荐
- python画柱形图-Python绘制柱状图
- python与excel的应用-python基础之类与对象的应用-操作excel
- python语言中文社区-Python 之父谈 Python-Go语言中文社区
- python教程是什么-Python基础教程_Python入门知识
- python编程入门指南上下百度云-Python编程初学者指南 PDF扫描版[87MB]
- 学python需要什么基础知识-学习python需要什么基础