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. 通信服务器哈希Socket查找(Delphi)

    在Socket通信服务器的开发中,我们经常会需要Socket与某个结构体指针进行绑定.当连接量很大时,意味着需要个高效的查找方法 Delphi中提供了哈希算法类,以此类为基础,修改出Socket专用M ...

  2. python3 练习题100例 (十六)鸡尾酒疗法

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'Fan Lijun' n = input('请输入一个大于1,小于等于20的整 ...

  3. Python学习之高级特性

    切片 在Python基础篇里,我们知道Python的可序列对象可以通过索引号(下标)来引用对象元素,索引号可以由0开始从左向右依次获取,可以从-1开始由右向左获取.这种方法可以帮助我们依次获取我们想要 ...

  4. TI C6000 数据存储处理与性能优化

    存储器之于CPU好比仓库之于车间.车间加工过程中的原材料.半成品.成品等均需入出仓库,生产效率再快,如果仓库周转不善,也必然造成生产阻塞.如同仓库需要合理地规划管理一般,数据存储也需要恰当的处理技巧来 ...

  5. 15、python之导入模块

    一.什么是模块? 模块本质是一个py文件,我们可以通过关键字import将py文件对象导入到当前名称空间. 二.导入模块 1.import module 2.from module import ob ...

  6. vue webpack build 打包过滤console.log()日志

    vue cli创建项目在 webpack.prod.conf.js文件 //打包时清除页面中所有打印及debugger断点 new webpack.optimize.UglifyJsPlugin({ ...

  7. 使用.gitignore忽视项目中的文件/文件夹

    在项目开发的过程中,我们经常需要IDE来提高编程效率.然而,不同的IDE会生成各种各样的临时文件.在项目生命周期中,我们往往不需要关注这类文件的变更记录,因而我们是不需要将它们加入到源代码管理器中. ...

  8. Trident学习笔记(二)

    aggregator ------------------ 聚合动作:聚合操作可以是基于batch.stream.partiton [聚合方式-分区聚合] partitionAggregate 分区聚 ...

  9. 使用系统的某些block api(如UIView的block版本写动画时),是否也考虑循环引用问题?

    系统的某些block api中,UIView的block版本写动画时不需要考虑,但也有一些api 需要考虑 以下这些使用方式不会引起循环引用的问题 [UIView animateWithDuratio ...

  10. 《Cracking the Coding Interview》——第8章:面向对象设计——题目8

    2014-04-23 23:49 题目:有个棋牌游戏叫Othello,也叫Reversi.请看游戏规则.中文应该叫黑白棋吧,不常玩儿就是了. 解法:既然这题的规则很清楚,也很清楚,我就写了一个命令行的 ...