vector< vector<pair<int, int> > >的用法

通过简单的例子来理解vector和vector的嵌套

第一层vector< vector<pair<int, int> > >
第二层 vector<pair<int,int>>
第三层 pair<int ,int>

#include<iostream>
#include<vector>
using namespace std;
const int maxn=4;
int main(){//输入vector<vector<pair<int,int> > > vec;//最外层vector for(int i=0;i<maxn;i++){vector<pair<int,int> > vec_in;//内层vector for(int j=0;j<maxn;j++){pair<int,int> p;//最内层的pair p=make_pair(i,j);//点对vec_in.push_back(p);}vec.push_back(vec_in);}cout<<"size of vec: "<<vec.size()<<endl;//输出vector<vector<pair<int,int> > >::iterator iter;//外层迭代器for(iter=vec.begin();iter!=vec.end();iter++){cout<<" vec一层 "<<endl;vector<pair<int,int> > temp=*iter;vector<pair<int,int> >::iterator it;//内层迭代器for(it=temp.begin();it!=temp.end();it++){cout<<"the value is: "<< (*it).first<<" " <<(*it).second<<endl;} }
}

测试结果

size of vec: 4
vec一层
the value is: 0 0
the value is: 0 1
the value is: 0 2
the value is: 0 3
vec一层
the value is: 1 0
the value is: 1 1
the value is: 1 2
the value is: 1 3
vec一层
the value is: 2 0
the value is: 2 1
the value is: 2 2
the value is: 2 3
vec一层
the value is: 3 0
the value is: 3 1
the value is: 3 2
the value is: 3 3

分析
输出
测试结果表明,最外层vector 有4个元素,每一个元素都是一个vector;第二层vector大小也是4,而且内容是点对(pair)。

构造过程
先形成点对(pair),然后把pair放入到内层vector,再把内层vector 放入到外层vector中。
举例
最小生成树(MST)prim算法使用到这个写法,特意记录一下

vector嵌套vector嵌套pair相关推荐

  1. C++:vector容器中使用pair该如何访问成员

    (显然,vector 的索引从 0 开始,这和普通数组一样.通过使用索引,总是可以访问到 vector 容器中现有的元素.) 如果是简单的访问vector里边的成员的话,是这样的: #include ...

  2. java vector pair_C++ vector中使用pair 及 pair的基本用法总结(转)

    pair的基本用法总结 1.pair的应用 pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存.另一个应用是,当一个函数 ...

  3. Just another board game 博弈-vector套vector

    题意 : 给一个n∗mn*mn∗m的棋盘,每个位置上都有数字,最多k次操作,初始时唯一的棋子在左上角(1,1)(1, 1)(1,1),棋子最终所在的位置上的数字为终值,A想要最大化这个值,B想要最小化 ...

  4. vector机器人 WAYS TO INTERACT WITH VECTOR 与 VECTOR 的交互方式

    目录 Sections: 部分: Things to say to Vector 对 Vector 要说的话 Hey Vector 嘿 Vector Vector Q&A 向量问答 Sound ...

  5. vector机器人 VECTOR’S CUBE 矢量的立方体

    目录 What battery does the cube use? 这个立方体用什么电池? How long does the battery last? 电池能用多久? How do I chan ...

  6. 【C++ 语言】vector 容器 ( 容器分类 | vector 声明 | vector 初始化 | vector 容器元素增删查改 )

    文章目录 序列式容器 vector 简介 vector ( 向量 ) 头文件 vector ( 向量 ) 声明及初始化 vector ( 向量 ) 添加元素 vector ( 向量 ) 查询元素 ve ...

  7. qt布局嵌套_QDockWidget嵌套布局详解-实现Visual Studio布局

    概述 许多工程软件,如Qt Creator,VS,matlab等,都是使用dock布局窗口,这样用户可以自定义界面,自由组合窗口. Qt的嵌套布局由QDockWidget完成,用Qt Creator拖 ...

  8. vector<vector>排序

    已知:每类奖励下面不止四种,是不确定数量(至少一种).要求有可领取奖励的块上移到顶,如果有多个可领奖励块,它们的前后顺序和原来一样.这里每个标题栏和可领取块都是一张map里面的元素.如下图: 解:1. ...

  9. HashMap嵌套HashMap嵌套HashMap(三层嵌套)

    HashMap嵌套HashMap嵌套HashMap(三层嵌套) import java.util.ArrayList; import java.util.HashMap; import java.ut ...

最新文章

  1. alias怎么每次登陆都保存_alias命令使用说明
  2. 2017/5 JavaScript基础9 --- 闭包、作用域
  3. linux 下运行 tomcat
  4. JavaWeb核心常用API一览
  5. thymeleaf 模板语言简介
  6. [java基础] --- java开发,service层是不是一定要写接口
  7. Hadoop2 实战系列之1 -- Hortonworks Sandbox的安装和使用
  8. bzoj 1704: [Usaco2007 Mar]Face The Right Way 自动转身机
  9. 力扣-1508 子数组和排序后的区间和
  10. rdbms mysql_不同RDBMS下Join 用法 - MySQL
  11. Windows NT 内核版本号对应的操作系统版本号
  12. win10开机字体变大bug
  13. 指数分布的期望与方差
  14. Netflix时代之后Spring Cloud微服务的未来
  15. 3dmax 毛发、毛头麻绳
  16. Excel笔记(持续更新)
  17. 基于形状图像检索的曲率尺度空间描述符与傅立叶描述子的比较研究——18.07.14
  18. idea jdk版本设置
  19. 敏捷与数字化转型银行_使敏捷人超越数字化
  20. 雷军、马云、马化腾控股的公司

热门文章

  1. jQuery 人脸识别插件,支持图片和视频
  2. 随手正则写的 CSDN【只看楼主】功能
  3. 一个div 上下两行_纯CSS实现单一div的正多边形变换
  4. 单链表删除所有值为x的元素_C/C++编程笔记:如何使用C++实现单链表?单链表的基本定义...
  5. 神经网络的反向传导到底是在干什么?
  6. 应用化学:类卤代甲烷CH3X结构的神经网络
  7. 【控制】《现代控制理论》谢克明老师-第3章-线性控制系统的能控性和能观测性
  8. 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第2章-带时延位置的离散多智能体系统的一致性
  9. SOPC第三课---同时点亮4个LED灯闪烁
  10. 【STBC】Alamouti,STBC误码率仿真