vector(动态数组或向量):动态分配内存空间的线性储存结构。  

需要包括头文件<vector>

定义:

vector<数据类型> 变量名;

Eg:

vector<int> s; //定义了一个数据类型为整形的动态数组;

基本操作(红色标识为常用操作):

  s[i]直接以下标方式访问容器中的元素。 
      s.front()  返回首元素。
  s.back()  返回尾元素。  
  s.push_back(x)向表尾插入元素x。
  s.size()  返回表长。 
  s.empty()  当表空时,返回真,否则返回假。
  s.pop_back() 删除表尾元素。
  s.begin()  返回指向首元素的随机存取迭代器。
  s.end()   返回指向尾元素的下一个位置的随机存取迭代器。
  s.insert(it, x) 向迭代器it 指向的元素前插入新元素x。
  s.insert(it, n, x)向迭代器it 指向的元素前插入n 个x。
  s.insert(it, first, last)将由迭代器first 和last 所指定的序列[first, last)插入到迭代器it 指向的元素前面。 
  s.erase(it)删除由迭代器it 所指向的元素。
  s.erase(first, last)删除由迭代器first 和last 所指定的序列[first, last)。    
  s.clear()删除容器中的所有的元素。
  s.swap(v)将s 与另一个vector 对象v 进行交换。

代码解释:

#include<vector>
#include<iostream>

using namespace std;

vector <int> a;//定义整型动态数组a;
int main()
  {
   a.push_back(1);//在表末压入数字1;
   a.push_back(2);
   a.push_back(3);
   cout<<*a.end()<<endl;//用于解释迭代器所指向的为表末元素的下一个储存位置;
    vector <int> ::iterator itor=a.begin();//迭代器只了解即可,蓝色标识部分为迭代器的类型,为整型动态数组的迭代器ator,初始位置为a.begin();
   for (;itor!=a.end();itor++)//用迭代器来遍历表中的所有元素;
     cout<<*itor<<endl;//迭代器类似于指针,需要用*运算来取得其内容;
   for (int i=0;i<a.size();i++)
   cout<<a[i]<<endl; //利用下标法来遍历表中所有元素;
   a.pop_back();//删除表末最后一个元素;3 out
   cout<<*(a.end()-1)<<endl;//输出表末最后一个元素,这时输出的是2;
   return 0;
  }

//若看不太懂,推荐C++远征之模板篇第六章 标准模板类。

C++之路起航——标准模板库(vector)的更多相关文章

  1. C++之路起航——标准模板库(list)

    list(链表):http://baike.baidu.com/link?url=gkVdBlHEzy6ssrgT5Iy2wze4jl37ka1G45TRpUHrQSYFZQg2HimtUCePV0t ...

  2. C++之路起航——标准模板库(queue)

    queue: FIFO队列:先进先出队列. 优先队列:对队列中的元素按优先级的大小输出. 定义: FIFO队列: queue<数据类性>变量名. 优先队列:priority_queue&l ...

  3. C++之路起航——标准模板库(deque)

    deque(双端队列):http://baike.baidu.com/link?url=JTvA2cuLubptctHZwFxswvlZvxNdFOxmifsYCGLj5IZF-Tj4rbWLv8Jn ...

  4. C++之路起航——标准模板库(set)

    set(集合):http://baike.baidu.com/link?url=cb68AB-3qfEK8RoaGHJFClb4ZiWpJfc32lPOLtaNUrdxntFC738zCZsCiUlf ...

  5. [转载]C++之路起航——标准模板库(deque)

    转自:https://www.cnblogs.com/grhyxzc/p/5074061.html deque(双端队列):http://baike.baidu.com/link?url=JTvA2c ...

  6. C++:标准模板库vector

    一:介绍 vector是C++标准模板库,是一个容器,底层是数组,为连续内存. 命名空间为std,所属头文件为<vector>   注意:不是<vector.h> vector ...

  7. 标准模板库(STL)学习探究之vector容器

    标准模板库(STL)学习探究之vector容器  C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...

  8. C++标准模板库(STL)之Vector

    在C中,有很多东西需要自己实现.C++提供了标准模板库(Standard Template Libray,STL),其中封装了很多容器,不需要费力去实现它们的细节而直接调用函数来实现功能. 具体容器链 ...

  9. C++的标准模板库STL中实现的数据结构之顺序表vector的分析与使用

    摘要 本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解.即联系数据结构的理论分析和详细的应用实现(STL),本文是系列总结的第一篇,主要针对线性表中的顺序表(动 ...

随机推荐

  1. C、VDD、VSS、 VEE 和VPP的区别

    http://www.cnblogs.com/crazybingo/archive/2010/05/14/1735802.html C.VDD.VSS. VEE 和VPP的区别 在电子电路中,常可以看 ...

  2. ngios

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  3. Difference between _, __ and __xx__ in Python

    When learning Python many people don't really understand why so much underlines in the beginning of ...

  4. 管子&小白

    管夷吾已入朝,稽首谢罪,桓公亲手扶起,赐之以坐.夷吾曰:“臣乃俘戮之余,得蒙宥死,实为万幸,敢辱过礼!”桓公曰:“寡人有问于子,子必坐,然后敢请."夷吾再拜就坐. 桓公曰:“齐,千乘之国,先 ...

  5. Bulk Insert & BCP执行效率对比

    我们以BCP导出的CSV数据文件,分别使用Bulk insert与BCP导入数据库,对比两种方法执行效率 备注:导入目标表创建了分区聚集索引 1.BCP导出csv数据文件 数据量:15000000行, ...

  6. Makefile使用总结

    1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之 ...

  7. httpclient提交json参数

    private void httpReqUrl(List<HongGuTan> list, String url) throws ClientProtocolException, IOEx ...

  8. 10 Ways to Inspire Your Team

    Inspire. Just the word itself causes us to pause and think. We may remember our own personal heroes ...

  9. JS之相等操作符

    1.相等 == 和不相等 != 先转换操作数再比较相等性 在转换不同的数据类型时,相等和不相等遵循以下规则: 1.1 如果有一个操作数是布尔值,则在比较相等性前先将其转换为数值---false转换为0 ...

  10. Swift-01 UIWebView加载网页

    UIWebView在swift里面的语法,和OC不太一样,但是,使用方法什么的,都是从OC演变过来的.比如,都得有init方法,都有loadRequest方法,所以,有了OC这个基础,学习swift是 ...