特殊函数:swap() ,sort() (不能用 reverse())


构造Vector:

#include<iostream>
#include<vector>
using namespace std;int main()
{//1)vector<int> v1;int a;for(int i=0;i<10;i++){cin>>a;v1.push_back(a); // v1为空,只能在末尾添加}for(int i=0;i<10;i++){cout<<v1[i]<<endl;}//2)vector<int> v2(3); // 默认值为0vector<int>::size_type i; // 定义 int i,有warningfor(i=0;i<v2.size();i++){cin>>v2[i];}//3)//vector<int> v3(10,1); //a[10],且所有值初始化为1//4)//二维数组// 方式一:vector<int> v4[5]; //a[5][],每个v4[i]都是一个空vectorint a;for(int i=0;i<5;i++){for(int j=0;j<10;j++) // 定义a[5][10]{cin>>a;v4[i].push_back(a);}}//5)// 方式二:/*vector<vector<int>> v5(5);for(int i=0;i<5;i++){v5[i].resize(10);}*/ vector<vector<int>> v5(5,vector<int>(10)); // 代替上面三行注释for(int i=0;i<v5.size();i++) // warning: i {for(int j=0;j<v5[0].size();j++){cin>>v5[i][j];}}//6)// vector复制vector<int> v6(v2);vector<int> v7(v2.begin(),v2.end());vector<int> v8(v2.begin(),v2.begin()+3);return 0;
}

相关函数及迭代器:

#include<iostream>
#include<vector>
#include<iterator>
using namespace std;int main()
{vector<int> v(5);vector<int>::iterator it;for(it = v.begin();it!=v.end();it++){cin>>*it;}for(it = v.begin();it!=v.end();it++){cout<<*it<<endl;}// 演示其部分函数// v.clear()v.clear(); //空vectorcout<<v.size()<<endl;  // 0// v.resize(); v.reserve();v.resize(10); // v 总共10个,新增的5个默认值为0cout<<v.size()<<endl;v.reserve(5); // v 再增加5个,新增的5个默认值为0cout<<v.size()<<endl;// v.assign() , 赋值vector<int> v1;v1.assign(v.begin(),v.end());  // v1可以开始为空v1.assign(5,10); //相当于定义 v1(5,10)cout<<v1[4]<<endl;// v.empty(), v.back(), v.front()while(!v.empty()){cout<<v.back()<<endl;v.pop_back();}cout<<v.size()<<endl;// v.insert(), v.erase();it = v.begin();v.insert(it+2,10); // 将10 插到(it+2)的位置,即v[2] = 10,size = size+1it = v.begin();v.insert(it+2,2,10); // 插2个10 到 (it+2)的位置// v.rbegin(); v.rend(); 没有reverse()函数// 逆序输出vector<int>::reverse_iterator r_it;for(r_it = v.rbegin(); r_it != v.rend(); r_it++) // 注意 r_it++{cout<<*r_it<<endl;}return 0;
}

另:
vector 与 vector<*int> 区别:
http://www.jb51.net/article/41918.htm

rbegin(), rend()的详解:
http://blog.csdn.net/kjing/article/details/6936325

STL容器 之 vector相关推荐

  1. c++STL容器的Vector

    STL容器的Vector Vector容器简介 vector对象的默认构造 vector对象的带参数构造 vector的赋值 vector的大小 vector末尾的添加移除操作 vector的数据存取 ...

  2. string类的erase函数属于stl吗_探索STL容器:vector

    用了这么久的 vector ,今天终于有时间来看下STL的实现源码了,开心?~ 最近几个月在刷 leetcode ,用的较多的数据结构就是STL里面的 vector 了,相比较于直接的 array 数 ...

  3. MFC中STL容器中Vector,List,Map基本用法汇总

    容器就是数据结构的泛指,迭代器就是指针的泛指,可以指向元素.它可以用来存储数据,就比如杯子用来装水一样.而STL中的容器有很多,它包括vector,list,map,deque,set等.我就简单列举 ...

  4. STL容器板子(vector篇)

    一.STL的诞生 (1)长久以来,软件界一直希望建立一种可重复利用的东西 (2)C++的面向对象和泛型编程思想,日的就是复用性的提升 (3)大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量 ...

  5. C++ STL函数库 vector(henu.hjy)

    我们需要明白vector这是个什么?? 答:通俗而言--一个长度根据所需自动改变的数组,同时还可以用于以邻接表的方式进行存储图 使用前提: 头文件#include <vector> 使用C ...

  6. C++ STL: 容器vector源码分析

    文章目录 前言 vector的核心接口 vector push_back实现 vector 的 Allocator vector 的 push_back 总结 前言 vector 是我们C++STL中 ...

  7. c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件

    Vectors 包含着一系列连续存储的元素,其行为和数组类似.访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线 ...

  8. 【小白学习C++ 教程】二十一、C++ 中的STL容器Arrays和vector

    @Author:Runsen C++的标准模板库(STL)是提供数组.向量.队列等数据结构的模板类的集合.STL是由容器.算法.迭代器组成的库. 容器 容器存储对象和数据.它们基本上是基于模板的泛型类 ...

  9. STL容器及其简单应用(stack、priority_queue、vector、deuqe、list、map/multimap、set/multiset)

    目录 前言 [1]stack操作以及应用 stack的几个核心接口 利用stack完成进制转换 [2]priority_queue操作以及应用 priority_queue的几个核心接口 利用prio ...

  10. vector 清空 Linux,STL容器vector基础用法小结

    STL容器vector基础用法小结根据<ACM程序设计>写的,用实例展示vector用法. 方法:push_back(), insert(), erase(), clear(), size ...

最新文章

  1. Java获取照片的Exif信息,并解析GPS
  2. 服务端如何防止订单重复支付!
  3. PHP高并发的解决方案
  4. linux怎么运行exam,《 rh124-exam》linux练习
  5. linux下载哪个python版本-Linux升级python版本
  6. 论文浅尝 | Convolutional 2D knowledge graph embedding
  7. 第五篇 CSS入门 明白 三种嵌套形式,三种常用控制器
  8. c语言turboc报错显示,C语言新手问个关于C语言在TurboC上运行的问题
  9. Python 复数类型(详解)
  10. python写qq群自动回复机器人_GitHub - HZQHZA/wxpy: Python 写 微信聊天 根据 自动回复 接入机器人 等等.......
  11. api—淘宝图片上传
  12. 如何用电影摄影来破解大脑
  13. table总结insertRow、deleteRow
  14. 微带线和带状线的设计指南
  15. 安利几款软件给需要的你
  16. Synch4j使用指南
  17. [日更-2019.4.8、4.9、4.12、4.13] cm-14.1 Android系统启动过程分析(一)-init进程的启动、rc脚本解析、zygote启动、属性服务...
  18. Windows SendMessage函数讲解及实例
  19. 最简单的python使用ddddocr模块在线识别验证码后登录
  20. package.json 封装 vue模块_vue仿小米商城 -- 我知道的都在这里了

热门文章

  1. ORACLE系统表和视图
  2. c# 字符串编码问题
  3. C语言读者管理系统——软件项目开发实践
  4. 数字图像处理——图像的统计特征
  5. AndroidStudio工程打包aab文件
  6. java 继承list_Java集合—List—继承关系
  7. 内蒙古工业大学计算机好调剂吗,内蒙古工业大学信息工程学院2017硕士研究生第三次调剂公告...
  8. ios html清除缓存图片,iOS 清理文件缓存(示例代码)
  9. mongodb driver c#语法
  10. 人工智能写作:想要和智能对话 本AI给你的写作指个路