(知识点4)C++ 中vector

1、定义
vector<vector<int>> M;
2、添加元素
这里是vector的嵌套使用,本质是vector元素里的每个元素也是vector类型,所以抓住本质来添加元素就比较容易理解。
我们假设外层的vector的对象为M,为外层vector对象,则M中的每一个元素也是vector类型,记为N1,N2,N3……,为内层对象
则,我们得先形成一个个的N1,N2等的vector对象,然后再将这些vector对象添加进入外层vector对象M中
这样就比较容易理解向vector<vector<int>>对象添加元素的原理了,实现如下:
如M=[[1 2 3], [4 5 6]],添加方式如下:
vector<vector<int>> M; //外层vector对象M
vector<int> N; //内层vector对象 N.push_back(1);
N.push_back(2);
N.push_back(3); //已经形成第一个内层vector对象N1 M.push_back(N); //将形第一个内层vector对象N添加到外层vector对象M中
N.clear(); //清楚N中的元素,可以继续存放后续vector对象 N.push_back(4);
N.push_back(5);
N.push_back(6); //已经形成第一个内层vector对象N2 M.push_back(N); //将形第一个内层vector对象N添加到外层vector对象M中
N.clear(); //清楚N中的元素,可以继续存放后续vector对象
3、访问元素
访问元素和二维数组相同,M[0][0],访问M中第一个vector对象的第一个元素,值为1;
4、长度
(1)M中vector的个数:M.siz();
(2)M中第i个vector元素的长度:M[i].size();
(知识点4)C++ 中vector的更多相关文章
- c++中vector的用法详解
		c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ... 
- C++的STL中vector内存分配方法的简单探索
		STL中vector什么时候会自动分配内存,又是怎么分配的呢? 环境:Linux CentOS 5.2 1.代码 #include <vector> #include <stdio ... 
- C++ 中vector的基本用法
		//在网上看了好久,自己总结了一下下,第一篇博客,呼呼,学到不少 基本概念 vector容器是一个模板类,可以存放任何类型的对象).vector对象可以在运行时高效地添加元素,并且vector中元素是 ... 
- java中vector与hashtable操作详解
		众所周知,java中vector与hashtable是线程安全的,主要是java对两者的操作都加上了synchronized,也就是上锁了.因此 在vector与hashtable的操作是不会出现问题 ... 
- [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)
		首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下: C++ Code 1 2 template < class _Ty, cl ... 
- c++中vector等容器的实现机制
		stl容器区别: vector list deque set map-底层实现 stl容器区别: vector list deque set map (转) 在STL中基本容器有: vector.li ... 
- 关于C++中vector和set使用sort方法进行排序
		C++中vector和set都是非常方便的容器, sort方法是algorithm头文件里的一个标准函数,能进行高效的排序,默认是按元素从小到大排序 将sort方法用到vector和set中能实现多种 ... 
- STL中vector、list、deque和map的区别
		1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capac ... 
- 【转】STL中vector、list、deque和map的区别
		1.vector 向量 相当于一个数组 在内存中分配一块连续的内容空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数 ... 
随机推荐
- 【洛谷】P1022 计算器的改良-全AC题解
			#include <iostream> #include <cstring> #include <iomanip> using namespace std; int ... 
- 系统压测结果对比:tomcat/thinkphp/swoole/php-fpm/apache
			[测试所用服务器8核,16G内存]压测接口:很简单,从一张表里根据主键随机查询出一条数据[数据库服务器和WEB服务器分开的].表数据量大概:910000+条. 这个测试结果很有趣:tp5.0和3.2性 ... 
- opencv imshow  plt imshow
			opencv官方文档上写的,https://docs.opencv.org/master/dc/d2e/tutorial_py_image_display.html Color image loade ... 
- 基于netty手写RPC框架
			代码目录结构 rpc-common存放公共类 rpc-interface为rpc调用方需要调用的接口 rpc-register提供服务的注册与发现 rpc-client为rpc调用方底层实现 rpc- ... 
- ajax 执行成功以后返回的数据走的是error方法而不是success方法的问题
			今天在一个功能的时候发现写的ajax的方法执行后台代码成功后返回前台时执行的是error方法而不是success方法,代码如下 jQuery('#form').ajaxSubmit({ type: & ... 
- scxml 图像展示器 (基于C++ MFC GDI tinyxpath的实现)
			以前的时候学习新东西没有总结的习惯,周末把以前研究的东西翻了翻,稍微总结下. Scxml是w3c出来的基于状态机的对话脚本语言标准,具体内容可以谷歌到,这里讲述自己开发的一个把scxml转化为可交互图 ... 
- w3c网站案例
			w3c网站 reset操作 body { background-color: #eee; } html, body, h1, h2, h3, h4, h5, h6, ul, p { margin: 0 ... 
- Java 之 线程安全(线程同步)
			一.线程安全 当有多个线程同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,这就是线程安全的. 下面通过一个案例来演示线程的 ... 
- Java开发环境之Gradle
			查看更多Java开发环境配置,请点击<Java开发环境配置大全> 拾伍章:Gradle安装教程 1)下载Gradle安装包 官网下载:https://gradle.org/releases ... 
- tp5 模型中配置数据库连接信息
			namespace app\api\model; use think\Model; class BaseModel extends Model { protected $connection = [ ... 
