一.解释:

   vector(向量):是一种顺序容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组,它的随机访问快,在中间插入和删除慢,但在末端插入和删除快。

二.用法:

1.头文件

#include <vector> 

2.定义方式

a) vector<int>v1;//vector元素为 int 型
b) vector<string>v2;// vector元素为string型
c) vector<node>v3;//入队元素为结构体型,结构体可以自行定义vector<int>::iterator it;//定义一个迭代器

3.常用操作

v1.push_back()   //在数组的最后添加一个数据
v1.pop_back()    //去掉数组的最后一个数据
v1.front()     //返回第一个元素(栈顶元素)
v1.begin()           //得到数组头的指针,用迭代器接受
v1.end()             //得到数组的最后一个单元+1的指针,用迭代器接受
v1.clear()        // 移除容器中所有数据
v1.empty()         //判断容器是否为空
v1.erase(pos)        //删除pos位置的数据
v1.erase(beg,end)// 删除[beg,end)区间的数据
v1.size()         //回容器中实际数据的个数
v1.insert(pos,data) //在pos处插入数据

三.例子

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;int main()
{vector <int> v;                            //定义vectorvector<int>::iterator it;                 //定义一个vector迭代器for(int i = 10; i >= 1; i--)              //插入数据v.push_back(i);cout<<"输出:";for(it=v.begin();it!=v.end();it++)       //输出迭代器的值cout<<*it<<" ";cout<<endl;it-=1;cout<<"最后一个的值为:"<<*it<<"     "<<endl;v.erase(it);                             //删除最后一个元素cout <<"元素个数:" <<v.size() << endl;    //输出元素个数sort(v.begin(), v.end());                    //vector排序cout<<"排序后:";for(it=v.begin();it!=v.end();it++)            //输出vector元素cout << *it << " ";cout<<endl;v.insert(v.begin(),100) ;                 //在pos位置插入一个elemcout<<"第一个元素为:" <<v.front()<<endl;//输出第一个元素v.pop_back();                         //去掉最后一个元素cout << "元素个数:" <<v.size() << endl;//输出元素个数v.clear();                                //vector清空cout <<"清空后元素个数:" << v.size() << endl;    //输出元素个数return 0;
}

C++ STL vector详解相关推荐

  1. C++中的STL算法详解

    1.STL算法详解 STL提供能在各种容器中通用的算法(大约有70种),如插入.删除.查找.排序等.算法就是函数模板,算法通过迭代器来操纵容器中的元素.许多算法操作的是容器上的一个区间(也可以是整个容 ...

  2. STL 之vector详解

    STL之vector容器详解 vector 容器 vector是C++标准模版库(STL,Standard Template Library)中的部分内容.之所以认为是一个容器,是因为它能够像容器一样 ...

  3. C vector详解

    [导读]:vector是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,vector是一个能够存放任意类型的 ...

  4. C++ STL之vector详解

    转自http://blog.sina.com.cn/s/blog_9f1c0931010180cy.html Vectors    vector是C++标准模板库中的部分内容,它是一个多功能的,能够操 ...

  5. C++STL笔记(四):vector详解

    vector结构 一.vector的构造函数和析构函数 二.vector的非更易型操作 三.vector的赋值操作 四.vector用以直接访问元素的各项操作 五.vector的迭代器相关函数 六.v ...

  6. C++ Vector详解

    Vector是STL库中的一种数据结构,本质上而言,Vector是一种动态数组结构,何为动态数组?动态数组指的是,在内存上面是连续地址,但是在每次初始化数组的时候,都事先分配好一大块内存,然后再分配给 ...

  7. C++STL面试详解

    1.什么是C++STL? C++ STL从广义来讲包括了三类:算法,容器和迭代器. 算法包括排序,复制等常用算法,以及不同容器特定的算法. 容器就是数据的存放形式,包括序列式容器和关联式容器,序列式容 ...

  8. C++ STL List详解与使用方法

    结构模型 可以看到是一个双向串列的结构. 头文件<List> List的能力 Lits对象自身提供了两个指针,用来指向第一个和最末一个元素,每个元素都有指针指向前一个和下一个元素,下面是L ...

  9. C++ -- vector详解

    2019独角兽企业重金招聘Python工程师标准>>> 最近在重新学习C++,找到一篇比较好的介绍vector的文章,现记录下来,以下为转载,侵删. 1. 在C++中的详细说明 ve ...

  10. C++ STL容器详解

    概述 容器是储存其他对象的对象.被储存的对象必须是同一类型.(如果你还没有学习OOP!其实你可以把它看成一个数组,只不过他有特殊的方法与使用技巧!) 分类 1. 序列容器 各元素之间有顺序关系的线性表 ...

最新文章

  1. 读入excel中的数据到数据库中
  2. [CODEVS 3147] 矩阵乘法 2
  3. Android学习笔记ListView
  4. 1081 Rational Sum (20 分)_22行代码AC
  5. linux时间轮 Timing-Wheel的实现
  6. pptx模块的安装与基本使用
  7. HDU 2181 哈密顿绕行世界问题
  8. Markdown公式编辑总结
  9. python爬取网站大数据_[Python]爬虫抓取大数据职位数据
  10. SEO怎么添加外链,这10个方法请收藏
  11. Neo4j学习笔记(三) 导入数据
  12. 蜗牛星际A单开启WOL功能
  13. 苹果AppStore审核规则标准指南!
  14. 服务器中搭建OA系统,oa系统搭建在云服务器上
  15. 我上岸了!深度剖析我的小红书 后台开发面经,以及我的 社招面试题目分享。
  16. 织梦教程:自定义模型会员无法投稿的解决方法
  17. 车载毫米波雷达的性能标准与测试方法
  18. 如何只用一部手机拍出绝美证件照(换底色,改尺寸,换装美颜,排版)?
  19. Bartender 4 for Mac菜单栏无忧管理
  20. 【AUTOSAR COM】达芬奇PDUR模块学习笔记

热门文章

  1. JavaScript设计模式入坑 1
  2. Goland的下载与安装
  3. ubuntu安装时出现11:资源暂时不可用
  4. php不使用copy()函数复制文件的方法
  5. JVM中也有并发GC,CMS机制
  6. Linux内核等待队列wait_queue学习
  7. [数据恢复答疑]删除了WINDOWS桌面上的文件,该如何恢复数据
  8. idea拉出Output窗口和还原窗口
  9. Hot Swap failed:add method not implemented
  10. matlab2014 下的 libsvm 安装