头文件#include<vector>

1.创建vector对象

1.不指定容器大小  vector <int> v;

2.指定容器大小 vector <double> v(10);

3.附带初值 vector <double> b(10,8.6);//此容器有十个元素,每一个都是8.6;

2.元素的插入

insert()方法可以在vector容器的任意位置插入一个元素,同时所有后面的元素向后移动一位。注意:需要用迭代器;

3.元素的删除

erase()方法可以删除vector中迭代器所指的一个元素或者一段区间中的元素;clear()方法则一次性删除vector中的所有元素。

#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
bool comp(const int &a,const int &b)
{
    if(a!=b)return a>b;
    else return a>b;
}
using namespace std;
int main()
{
    vector<int>v;//定义verctor容器v;
    v.push_back(2);//随时向尾部添加元素
    v.push_back(5);
    v.push_back(7);
    v.push_back(9);
    v.push_back(11);
    v.push_back(13);
    for(int i=0;i<6;i++)
        printf("%d ",v[i]);//下标法访问vector元素;
    printf("\n");
    //迭代器法访问vector容器元素;
    vector<int>::iterator it;//定义迭代器变量it
    for(it=v.begin();it!=v.end();it++)
        cout<<*it<<" ";//输出迭代器上的元素;
    cout<<endl;
    //元素的插入;
    v.insert(v.begin(),8);
    v.insert(v.begin()+3,4);//在第三个元素前插入4,注意是原始容器的第三个元素之前;
    for(it=v.begin();it!=v.end();it++)
        printf("%d ",*it);
    printf("\n");
    //元素的删除;
    v.erase(v.begin()+2);//删除第二个元素;
    v.erase(v.begin()+3,v.begin()+5);//删除3到5的元素;
    for(it=v.begin();it!=v.end();it++)
        printf("%d ",*it);
    printf("\n");
    /*v.clear();//清空容器中的元素;
    printf("%d\n",v.size());//输出容器的大小;*/
    reverse(v.begin(),v.end());//反向排列容器中的所有元素;
    for(it=v.begin();it!=v.end();it++)
        cout<<*it<<" ";
    cout<<endl;
    sort(v.begin(),v.end());//sort排序;
    for(it=v.begin();it!=v.end();it++)
        cout<<*it<<" ";
    cout<<endl;
    sort(v.begin(),v.end(),comp);//使用comp函数反向排序;
    for(it=v.begin();it!=v.end();it++)
        cout<<*it<<" ";
    cout<<endl;
    cout<<v.empty()<<endl;//判断容器是否为空;
    v.clear();
    cout<<v.empty()<<endl;
    return 0;
}

vertor容器的更多相关文章

  1. 【38】java的集合框架(容器框架)

    Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些 Collection允许相同的元 ...

  2. c++复习:STL之容器

    1 STL的string 1 String概念 string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的.string与char*都可以用来表示字 ...

  3. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  4. 网页提交中文到WEB容器的经历了些什么过程....

    先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...

  5. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  6. 深入理解DIP、IoC、DI以及IoC容器

    摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...

  7. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  8. JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题

    1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...

  9. docker4dotnet #2 容器化主机

    .NET 猿自从认识了小鲸鱼,感觉功力大增.上篇<docker4dotnet #1 前世今生&世界你好>中给大家介绍了如何在Windows上面配置Docker for Window ...

随机推荐

  1. iOS7之后的文本高度封装

    #import "NSString+Util.h" @implementation NSString (Util) +(CGFloat)changeStationWidth:(NS ...

  2. ITest

    渗透测试入门 我很简单,请不要欺负我 网站综合渗透实验: 真的很简单: 你是会员吗: 2015中国网络安全大赛 一.代码执行: 同DZ漏洞全家桶中的"又见DZ,我能那你怎么办". ...

  3. openstack私有云布署实践【4.2 上层代理haproxy+nginx配置 (办公网测试环境)】

    续上一节说明 一开始我也是使用haproxy来做的,但后来方式改了,是因为物理机controller的高配置有些浪费,我需要1组高可用的上层nginx代理服务器来实现其它域名80代理访问,很多办公网测 ...

  4. 计算机网络课程优秀备考PPT之第二章物理层(二)

    为了记录自己从2016.9~2017.1的<计算机网络>助教生涯,也为了及时梳理和整写笔记! 前期博客是, 计算机网络课程优秀备考PPT之第一章概述(一) 以上是<计算机网络> ...

  5. [妙味DOM]第四课:Event-事件详解2

    知识点总结 事件捕获 obj.addEventListener('click',fn,true) 从外往里 obj.addEventListener('click',fn,false) 从里往外(冒泡 ...

  6. Infix expression 计算 without '(' and ')'

    #include<iostream> #include<stack> #include<string> using namespace std; char comp ...

  7. Trouble Shooting

    情况是这样的,我在写一个类似于Online-Judge的系统,用python很容易实现,编译源程序,运行程序,最后比较程序输出与标准输出得出成绩.现在有个问题,万一程序运行时崩溃,比如出现除0异常,a ...

  8. Rancher安装使用

    官网 http://docs.rancher.com/rancher/latest/en/quick-start-guide/#add-hosts 安装步骤: 1 Start up a Linux m ...

  9. digitalocean开通德国法兰克福机房,40Gb带宽,支持IPv6

    2015年4月15日,vps服务商digitalocean宣布正式开通德国法兰克福机房.5个月前digitalocean宣布筹备Germany机房中心,经过近1个月部署,总算与用户见面了.Frankf ...

  10. 自定义函数动态执行SQL语句

    Oracle 动态SQL有两种写法:用 DBMS_SQL 或 execute immediate,建议使用后者. DDL 和 DML Sql代码 收藏代码 /*** DDL ***/ begin EX ...