body, table{font-family: 微软雅黑; font-size: 10pt}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}

能够动态增长,当   size()=capacity()   触发,容量在以前基础翻倍,但是效率不高,一般提前预设    reverse() 
#include<vector>
#include <iostream>
#include<vector>
using namespace std;
void print(vector<int> &vec)
{
        cout<<"vec.size="<<vec.size()<<endl;
        cout<<"vec.capacity="<<vec.capacity()<<endl;
}
int main()
{
        vector<int> vec;    
//具有动态增长功能,不预先开辟,初试大小为0,一旦往容器里面放东西,开始动态申请空间,当大小和容量相等时,触发容器申请空间,空间增长到当前大小的2倍
        vec.reserve(4);        //表示预先开辟大小为4的空间
        print(vec);
        vec.push_back(1);
        print(vec);
        vec.push_back(2);
        print(vec);
        vec.push_back(3);
        print(vec);
        vec.push_back(4);
        print(vec);
        vec.push_back(5);
        print(vec);
        vec.push_back(6);
        print(vec);
        for(int i=0;i<vec.size();i++)
        {
                cout<<vec[i]<<"  ";
        }
        cout<<endl;
        vector<int>::iterator vp;
        for(vp=vec.begin();vp!=vec.end();vp++)
        {
                cout<<*vp<<"  ";
        }
        cout<<endl;
}
//不预先开辟空间
//预先开辟空间4
#include<iostream>
#include<vector>
using namespace std;
void printNUM(vector<int> &ver)
{
        cout<<"vector.size:"<<ver.size()<<endl;
        cout<<"vector.capacity:"<<ver.capacity()<<endl;
}
//size()返回的是容器中push_back()的元素个数
//capacity()返回的是容器的空间(最多放多少个元素)
int main(void)
{
        vector<int> ver;
        //预先开辟空间
        ver.reserve(10);
        printNUM(ver);
        ver.push_back(1);
        printNUM(ver);   //vector当size和capacity一样大的时候,capacity会翻倍扩充
        ver.push_back(2);
        printNUM(ver);
        ver.push_back(3);
        printNUM(ver);
        ver.push_back(4);
        printNUM(ver);
        ver.push_back(5);
        printNUM(ver);
        ver.push_back(6);
        printNUM(ver);
        ver.push_back(7);
        printNUM(ver);
        ver.push_back(8);
        printNUM(ver);
        ver.push_back(9);
        printNUM(ver);
        for(int i=0;i!=ver.size();++i)
        {
                cout<<ver[i]<<"  ";
        }
        cout<<endl;
        vector<int>::iterator it;    //迭代器
        for(it=ver.begin();it!=ver.end();++it)
        {
                cout<<*it<<"  ";
        }
        cout<<endl;
}

vector概念的更多相关文章

  1. 数据结构与算法(2)- vector概念介绍

    声明:虽然本系列博客与具体的编程语言无关.但是本文作者对c++相对比较熟悉,其次是java,所以难免会有视角上的偏差.举例也大多是和这两门语言相关. Vector的出现主要是为了解决数组的静态空间的问 ...

  2. Linux x86_64 APIC中断路由机制分析

    不同CPU体系间的中断控制器工作原理有较大差异,本文是<Linux mips64r2 PCI中断路由机制分析>的姊妹篇,主要分析Broadwell-DE X86_64 APIC中断路由原理 ...

  3. Prometheus时序数据库-数据的查询

    Prometheus时序数据库-数据的查询 前言 在之前的博客里,笔者详细阐述了Prometheus数据的插入过程.但我们最常见的打交道的是数据的查询.Prometheus提供了强大的Promql来满 ...

  4. paper 5:支持向量机系列二: Support Vector —— 介绍支持向量机目标函数的 dual 优化推导,并得出“支持向量”的概念。

    paper 4中介绍了支持向量机,结果说到 Maximum Margin Classifier ,到最后都没有说“支持向量”到底是什么东西.不妨回忆一下上次最后一张图: 可以看到两个支撑着中间的 ga ...

  5. 矢量图形(vector graphics)和位图图像(bitmap)以及分辨率概念

    第一篇:凭心而论.客观地认识矢量图形与位图图像http://www.dzwebs.net/2003.html 学习过物理的人都明白,矢量有大小和方向,而标量只有大小却没有方向: 但是在计算机里面,图形 ...

  6. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  7. 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现

    [实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...

  8. Java中vector的使用详解

    Vector 可实现自动增长的对象数组. java.util.vector提供了向量类(vector)以实现类似动态数组的功能.在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提 ...

  9. Java集合类学习-LinkedList, ArrayList, Stack, Queue, Vector

    Collection List 在Collection的基础上引入了有序的概念,位置精确:允许相同元素.在列表上迭代通常优于索引遍历.特殊的ListIterator迭代器允许元素插入.替换,双向访问, ...

随机推荐

  1. webmagic的设计机制及原理-如何开发一个Java爬虫 转

    此文章是webmagic 0.1.0版的设计手册,后续版本的入门及用户手册请看这里:https://github.com/code4craft/webmagic/blob/master/user-ma ...

  2. linux下多线程之pthread_detach(pthread_self())

    写个碰到的问题,记录下自己的技术之路点滴pthread_detach(pthread_self())linux线程执行和windows不同,pthread有两种状态joinable状态和unjoina ...

  3. ::before ::after CSS3中的伪类和伪元素

    ::before和::after伪元素的用法 一.介绍 css3为了区分伪类和伪元素,伪元素采用双冒号写法. 常见伪类——:hover,:link,:active,:target,:not(),:fo ...

  4. Linux Shell脚本编程--字符串截取

    Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} ...

  5. git推送到github报错:error: The requested URL returned error: 403 Forbidden while accessing https://github.com

    最近使用git命令从github克隆仓库到版本,然后进行提交到github时报错如下: [root@node1 git_test]# git push origin mastererror: The ...

  6. ubuntu 12.04及12.10无法安装 ia32-libs

    administrator@ubuntu:~$ sudo apt-get install ia32-libs [sudo] password for administrator:  正在读取软件包列表 ...

  7. 【前端】jQuery选择器$()的实现原理

    今天三七互娱技术面试的时候面试官问了我这个问题,当时一脸懵逼,于是好好总结一下. 当我们使用jquery选择器的时候,$(s).回默认去执行jquery内部封装好的一个init的构造函数每次申明一个j ...

  8. LeetCode——Integer Replacement

    Question Given a positive integer n and you can do operations as follow: If n is even, replace n wit ...

  9. 回文树 Palindromic Tree

    回文树 Palindromic Tree 嗯..回文树是个什么东西呢. 回文树(或者说是回文自动机)每个节点代表一个本质不同的回文串. 首先它类似字典树,每个节点有SIGMA个儿子,表示对应的字母. ...

  10. 这样获取celery的结果 有啥隐患没有啊?