vector 向量,是C++自带的一种容器,其实就是一个升级版的数组

  因为它使用的是动态空间,所以当我们不确定数组空间的时候可以使用它

  若要使用需打开头文件

   #include<vector>

  定义一个 vector

     vector<int> a;

  还有一些初始化的定义,以及二位定义,但是个人认为不需在定义时花太多功夫,初始化可在预处理中进行

  定义参考:

    http://www.cnblogs.com/mr-wid/archive/2013/01/22/2871105.html

  使用

     a[]=;
scanf("%d",a[]);
printf("%d",a[]);
a[]=b;

  可以像数组一样使用,不过要注意它的开头是 0 号位置,即 a[0]

  指针

     a.begin()    //得到开头的指针
a.end() //得到结尾+1的指针,返回的是一个空地址

  这个指针非常重要,插入删除输出等操作都是与其有关

  插入数据

     a.insert(a.begin(),y);

  在开头插入 y,这样就省去了写链表的麻烦,它可以把后面的位置自动往后移动

  同样可以将指针移动,在指定的位置插入数据

     a.insert(a.begin()+x,y);

  在第 x 与第 x+1 位置之间插入数据 y

  我们也可以在末尾插入数据

     a.insert(a.end(),y);

  删除数据

  与插入类似,但是只用告诉删除的位置

     a.erase(a.begin()+x);

  把第 x+1 位删除,也可以看做删除 a[x]

  注意,删除最后一位里面的指针是 a.end()-1,因为 a.end() 返回的是最后一位+1的位置

  其它操作

     a.clear();      //清空
a.empty(); //判断是否为空
a.swap(b); //交换 a 与 b 的数据
a.size(); //返回 a 的大小
a.front(); //得到 a 开头的值,即 a[0]
a.back(); //得到 a 结尾的值,即 a[a.size()-1]

  排序可以使用 sort 进行

     sort(a.begin(),a.end());

  默认升序,若要降序需手写一个比较器

 bool cmp(int &x,int &y)
{
return x>y;
}

  然后排序的时候添加比较器

     sort(a.begin(),a.end(),cmp);

  

版权所有,转载请联系作者,违者必究

QQ:740929894

C++自带向量_vector_C++的更多相关文章

  1. 备忘DES带向量的加密和解密与DES简单加密与解密

    package com.ego.util; import java.security.Key; import java.security.SecureRandom; import java.secur ...

  2. Reverse-Daily(3)-DotNetCrackMe1

    链接:http://pan.baidu.com/s/1cuYQhK    密码:zjx6 这是一个用c#编写的程序 用dotpeek或者ILSPY反编译可以看到程序结构,主体比较简单,是一个des加密 ...

  3. 一位学长的ACM总结(感触颇深)

    发信人: fennec (fennec), 信区: Algorithm 标 题: acm 总结 by fennec 发信站: 吉林大学牡丹园站 (Wed Dec 8 16:27:55 2004) AC ...

  4. 冲刺$\mathfrak{CSP-S}$集训模拟赛总结

    开坑.手懒并不想继续一场考试一篇文. 既没必要也没时间侧边栏的最新随笔题解反思相间也丑 而且最近越来越懒了竟然都不写题解了……开坑也是为了督促自己写题解. 并不想长篇大论.简要题解也得写啊QAQ. 目 ...

  5. NLP与深度学习(二)循环神经网络

    1. 循环神经网络 在介绍循环神经网络之前,我们先考虑一个大家阅读文章的场景.一般在阅读一个句子时,我们是一个字或是一个词的阅读,而在阅读的同时,我们能够记住前几个词或是前几句的内容.这样我们便能理解 ...

  6. DES带IV向量加密解密工具

    链接:http://pan.baidu.com/s/1kVAV80J  密码:sgys 鉴于网上的DES加密解密都是不带IV向量的 我就自制了一个带IV向量的DES加密解密的小工具 © 2016-20 ...

  7. poj1984 带权并查集(向量处理)

    Navigation Nightmare Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 5939   Accepted: 2 ...

  8. HDU 1829 A Bug's Life 【带权并查集/补集法/向量法】

    Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...

  9. POJ 1182 食物链 (带权并查集 && 向量偏移)

    题意 : 中文题就不说题意了…… 分析 : 通过普通并查集的整理归类, 能够单纯地知道某些元素是否在同一个集合内.但是题目不仅只有种类之分, 还有种类之间的关系, 即同类以及吃与被吃, 而且重点是题目 ...

随机推荐

  1. poj 2674 线性世界 弹性碰撞

    弹性碰撞的题目一般都是指碰到就会掉转方向的一类题目,这里我们可以忽略掉头,仅仅看成擦肩而过,交换名字等等 题意:一条线上N只蚂蚁,每只蚂蚁速度固定,方向和坐标不同,碰头后掉头,求最后掉下去那只蚂蚁的名 ...

  2. Linux与BSD不同

    https://linux.cn/article-3186-1.html https://www.howtogeek.com/190773/htg-explains-whats-the-differe ...

  3. spark练习--mysql的读取

    前面我们一直操作的是,通过一个文件来读取数据,这个里面不涉及数据相关的只是,今天我们来介绍一下spark操作中存放与读取 1.首先我们先介绍的是把数据存放进入mysql中,今天介绍的这个例子是我们前两 ...

  4. Android 支付宝H5 没有回调

    今天测试反馈问题,说,手机上没有安装支付宝的,调用支付宝支付之后,没有回调.不提示成功也不提示失败. 我自己试了半天也都是没有问题 .后来终于可以试出来了. 发现原来是,清单里面注册的Activity ...

  5. android gradle.properties

    gradle.properties 里面配置的东西,在gradle 文件里面可以直接引用. 例如: 在你工程根目录的gradle.properties 文件里面 可以这样配置: ## Project- ...

  6. laravel5.5授权系统

    目录 1. Gates 1.1 一个简单的使用Gates的例子 1.2 编写Gates 1.3 授权动作 2. policy策略 2.1 还是先看个例子 2.2 编写策略 2.3 授权策略 2.3.1 ...

  7. 剑指Offer - 九度1519 - 合并两个排序的链表

    剑指Offer - 九度1519 - 合并两个排序的链表2013-11-30 22:04 题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则.(hi ...

  8. 【vim环境配置】在centos6.4上配置vim的一些零碎记录

    上一篇日志已经step by step地实录了如何在本机mac上配置vim开发环境已经各种插件. 有了一定经验之后,开始在实验室远程server上centos6.4的环境下配置vim环境. 这台机器是 ...

  9. JFinal Template Engine 使用

    官方文档:JFinal Template Engine 文档

  10. ASP.NET Core 2.1 源码学习之 Options[2]:IOptions 【转】

    原文链接:https://www.cnblogs.com/RainingNight/p/strongly-typed-options-ioptions-in-asp-net-core.html 在 上 ...