vector:

向量容器,动态数组,类模板

定义和初始化:

vector<T> v1;           //v1是空vector,元素类型是T类型,执行默认初始化,int为0,string为空串
vector<T> v2(v1);       //v2中包含有v1所有元素的副本
vector<T> v3(n,val);    //v3包含了n个重复的元素,每个元素的值都是val
vector<T> v4(n);        //v4包含了n个重复的执行了值初始化的对象
vector<T> v5{a,b,c,...} //以大括号中的元素初始化

vector中的操作

v.push_back(val)          //向v的末端添加一个值为val的元素
v.pop_back()              //删除最后一个元素
v.empty()                //如果v不含任何元素,返回true,否则返回false
v.size()               //返回v中元素个数,类型为vector<T>::size_type
v1==v2                   //v1等于v2仅当他们的元素个素相等,以及各位置所对应的元素的值相等
<,<=,>,>=                //以字典序进行比较
v[i]                     //通过下标访问v中第i个元素,不能用此添加,如果v为空就没有下标
v.erase(iterator position)    //删除指定位置的元素
v.erase(iterator begin,iterator end) //删除指定范围的元素
v.insert(it,val)      //在迭代器it前插入一个值为val的元素

迭代器:iterator

C++ STL 中各容器都有相应类型的iterator;

一般使用iterator来访问容器中的元素。

iterator的声明方式

例:
string:: iterator it;
vector<T>:: iterator it;

学习代码

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
int main()
{
    vector<int> v;
    v.push_back(50);
    v.push_back(2991);
    v.push_back(23);
    v.push_back(9999);

    cout << "向量v里面的数据:" << endl;
    vector<int>::iterator i = v.begin();
    while (i != v.end())
    {
        cout << *i << endl;
        ++i;
    }
    vector<int>::iterator iElement = find(v.begin(), v.end(),2991);//find()包含在algorithm头文件中
    if (iElement != v.end())
    {
        int nPosition = distance(v.begin(), iElement);     //distance()包含在algorithm头文件中
        cout << "Value" << *iElement << endl;
        cout << "nPosition" << nPosition << endl;
    }
    getchar();
    return 0;
}

C++ vector 常用API的更多相关文章

  1. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  2. 人工智能常用 API

    人工智能常用 API 转载  2016年07月13日 19:17:27 2047 机器学习与预测 1.AlchemyAPI  在把数据由非结构化向结构化的转化中运用得较多.用于社交媒体监控.商业智能. ...

  3. html5 canvas常用api总结(一)

    1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...

  4. compass General 常用api学习[Sass和compass学习笔记]

    compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...

  5. C++ 中超类化和子类化常用API

    在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...

  6. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

  7. js的常用api

    JavaScript常用API总结 原创 2016-10-02 story JavaScript 下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属 ...

  8. JS操作DOM常用API总结

    <JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...

  9. request对象常用API 获取请求参数的值 request应用 MVC设计模式

    1 request对象常用API   1)表示web浏览器向web服务端的请求   2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1     ...

随机推荐

  1. Equations

    Equations Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. Python基础学习参考(二):基本语法

    一.基本语法 既然是学习一门语言,它肯定有区别与其它语言的语法规则,现在就来解释一下python的语法规则是什么? 注释:通过"#"可以对python进行注释,注意是单行注释,如果 ...

  3. css中单位px和em,rem的区别[转载]

    PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,但是96%以上 ...

  4. rem 单位

    rem(font size of the root element)是指相对于根元素的字体大小的单位.   主流的一些web app的适配解决方案: 流式布局: 流式布局在页面布局的时候都是通过百分比 ...

  5. Spring Boot单元测试(Mock)

    Spring Boot单元测试(Mock) Java个人学习心得 2017-08-12 16:07 Mock 单元测试的重要性就不多说了,我这边的工程一般都是Spring Boot+Mybatis(详 ...

  6. sql分区文件删不的可能解决方法

    删除数据库分区的时候报错如下: ALTER DATABASE [ITMP2] remove FILE F20170427Msg 5042, Level 16, State 1, Line 1The f ...

  7. Docker Register安装与基本认证

    准备 基本事项 Docker环境 登录授权方式 镜像存放地址 HTTPS外网访问 启动Docker Registry 1. 基本事项 本篇涉及到的数据文件都放在/data目录下, 其中会有三个子目录 ...

  8. jfinal 源码学习

    源由 最近闲来无事,顺带看了下jfinal的源码,以下均为自己的个人理解,如有错误请指定: jfinal 使用 在web.xml中配置JfinalFilter 并定义JfinalConfig的类 自定 ...

  9. better-scroll 实现tab栏目滑动当前高亮始终在可视区

    https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/#better-scroll better-scroll文档地址 如图 ,是我们要实现的 ...

  10. 老男孩最新Python全栈开发视频教程(92天全)重点内容梳理笔记 看完就是全栈开发工程师

    为什么要写这个系列博客呢? 说来讽刺,91年生人的我,同龄人大多有一份事业,或者有一个家庭了.而我,念了次985大学,年少轻狂,在大学期间迷信创业,觉得大学里的许多课程如同吃翔一样学了几乎一辈子都用不 ...