C++向量 vector动态数组
需要包含头文件, #include <vector>
using namespace std;
vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素
vector<int> arr; //创建一个可以容纳整数值的动态数组
vector<int> a1(); //声明一个初始大小为10的向量
vector<int> a(, ); //声明一个初始大小为10且初始值都为1的向量
vector<int> b(a); //声明并用向量a初始化向量b
vector<int> b2=a; //声明并用向量a初始化向量b2
vector<int> b1(a.begin(), a.begin() + ); //将a向量中从第0个到第2个(共3个)作为向量b1的初始值
vector<int> b3(a.begin(), a.end()); //将a向量中从第0个到最后一个作为向量b3的初始值
int n[] = { , , , , };
vector<int> a2(n, n + ); //将数组n的前5个元素作为向量a2的初值
vector<int> a3(&n[], &n[]); //将n[1] - n[4]范围内的元素作为向量a3的初值;顾头不顾尾 int x = a2[];//返回指定序号的元素值
x = a2.at();//返回指定序号的元素值
x=a2.size(); //返回数组元素的总个数;0表示数组为空
x= a2.front(); //返回数组的第一个元素的值
x= a2.back(); //返回数组的最后一个元素的值
a.clear(); //清空数组,即把里面的所有元素都删除
vector<int>::iterator iter; //定义一个迭代器变量;可以理解成指针
iter=a2.begin(); //返回数组第一个数的下标;返回值类型:迭代器
a2.end(); //返回数组最后一个数的下标;返回值类型:迭代器
bool bl= a2.empty(); //判断数组是否为空,如果为空则返回true,非空(有元素)则返回false
//a2.swap(b); //两个动态数组的元素互换
//swap(a2, b); //两个动态数组的元素互换
a2.push_back(); //在尾部插入一个元素
a2.insert(a2.begin() + , ); //在下标1的位置插入元素
a2.insert(a2.begin() + , , ); ////在下标2的位置插入3个元素
a2.insert(a2.end() , ); //在尾部插入一个元素
a2.insert(a2.end(),, ); //在尾部插入n个元素
int nn[] = { ,,,,,, };
a2.insert(a2.end(), nn+, nn+); //插入普通数组中的元素
//参数1 插入位置
//参数2 普通数组的第1个元素开始
//参数3 普通数组的第5个元素结束,顾头不顾尾
a2.pop_back(); //删除动态数组的最后一个元素
int k=,l=,r=;
a2.erase(a2.begin() + k); //删除动态数组的下标为 k 的元素,返回下一个位置的迭代器
a2.erase(a2.begin() + l, a2.end() - r); //删除动态数组;从小标l开始,尾部留下r个 //遍历方法一,使用索引下标来遍历
for (int i=;i<a2.size();i++)
{
x = a2[i];
} //遍历方法二,使用迭代器来遍历
for (iter=a2.begin();iter!=a2.end();++iter)
{
x = *iter;
}
C++向量 vector动态数组的更多相关文章
- C++ vector动态数组
#include<vector>头文件 vector类称作向量类 百度百科的解释:https://baike.baidu.com/item/vector/3330482 我喜欢把知识点拿出 ...
- Vector(动态数组)怎么用咧↓↓↓
定义方式:vector<int> a; //二维vector<int>a[100] 在末尾压入容器:a.push_back(x);//二维 a[i].push_back(x) ...
- 八连通(vector动态数组法)
题目和一般的八连通一样,但行数和列数未定,相乘对于1e6,直接开a[1e6][1e6]的数组肯定会爆内存.用二维的动态vector就能很好的解决这个问题 #include<bits/stdc++ ...
- C++ Vector 动态数组
Vectors 包含着一系列连续存储的元素,其行为和数组类似.访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线 ...
- vector动态数组
vector是STL模板库中的序列式容器,利用它可以有效地避免空间的浪费. 创建vector容器 vector< int >v:vector< char >:vector< ...
- vc++简单的vector动态数组实现
#ifndef __MYVECTOR__ #define __MYVECTOR__ #include <Windows.h> #define SUCCESS 1 // 成功 #define ...
- 学习日记--用Vector(向量)实现动态数组
Vector的使用方法: 能在添加元素时增加长度的数组称为动态数组或可变长数组.相对地,必须事先指定长度,只能容纳一定数量元素的数组称为静态数组.下面分享一下如何借助STL(标准模板库)中的Vecto ...
- vector:动态数组
vector是C++标准模板库中的部分内容,中文偶尔译作“容器”,但并不准确.它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存 ...
- C++ STL之动态数组vector(⽮量)的使⽤
写再最前面:摘录于柳神的笔记: 之前C语⾔⾥⾯⽤ int arr[] 定义数组,它的缺点是数组的⻓度不能随⼼所欲的改变,⽽C++⾥⾯有⼀个能完全替代数组的动态数组 vector (有的书⾥⾯把它翻 ...
随机推荐
- 关于servlet连接数据库会出现空指针异常情况
一.servlet在连接数据库时,如果没有事先配置,当用Tomcat运行时会出现NullPointer的情况,是因为Tomcat在运行你的应用程序时没有连接mysql的jar包, 正确做法是将你的my ...
- ACM-ICPC 2015 BeiJing
比赛连接:ACM-ICPC 2015 BeiJing 本次比赛只写了 A G 然后 I题随后补 A 有一个正方形土地,上面有若干块绿洲.让你以x0为界限划一条竖线,要求左边绿洲面积>=右 ...
- Listener监听器和Filter过滤器
Listener监听器 WEB中的监听器 WEB 中的 Listener 和 Filter 是属于 Servlet 规范中的高级的技术.WEB中的监听器共有三类八种(监听三个域对象)* 事件源:Ser ...
- Centos 6.5 安装和使用docker
基于本人一贯的习惯,关于“某某某是什么”这样的问题,请百度吧,会有更专业的人士,会比我说的更详细更深,这里我只给出本人亲历的安装和使用过程. 1.安装 先检查服务器环境,docker要求操作系统Cen ...
- POJ2018 Best Cow Fences 二分
实数折磨人啊啊啊啊啊啊啊 好,实数应该是最反人类的东西了...... 这个害得我调了0.5天才过. 大意是这样的:给你一个数列,求其中不少于f个的连续数的最大平均值. 不禁想起寒假的课程来... 此处 ...
- XTest
腾讯优测是一个移动云测试平台,为应用.游戏.H5混合应用的研发团队提供产品质量检测与问题解决服务. 这是腾讯内部针对微信内的H5,做了一套专门的UI自动化框架.而且都是用真机来跑这些框架,在真机上模拟 ...
- 第一篇 - bsp抓取python中文开发者社区中的所有高级教程
工具:python3.6 pycharm 库:bs4 + urllib 第一步:读取html源码 from bs4 import BeautifulSoup import urllib.reques ...
- 详解python的垃圾回收机制
python的垃圾回收机制 一.引子 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存空间给回收掉,而变量名是访问到变量值的唯一方式 ...
- TestNg 12. extentReport测试报告
直接上代码:以下是我的目录结构,首先新建一个包名字叫 com.tester.extent.demo,直接新建两个类就可以,名字叫 ExtentTestNGIReporterListener 和 T ...
- fiddler接口测试,js代码修改日志展示(埋点用)
fiddler 通过fiddler 发送接口信息: http://blog.csdn.net/java2013liu/article/details/53380381 rules--automatic ...