C++之vector的高维数组
vector的高维数组通常利用套娃来实现。
1.一维数组
vector<T> v(...);
利用对象的函数实现对数组的动态操作(类似堆栈)。
v.push_back(...); //栈入
v.pop_back(); //栈出
利用对象的函数清空或重置数组。
v.clear(); //清空, 相当于vector<T>(0)
v.assign(v.size(), 0); //重置, 相当于vector<T>(m)
2.二维数组
vector<vector<T>> v(m);
//初始化m个vector<T>类型的对象, 其中每个对象相当于vector<T>(0)
利用对象的函数实现二维数组的初始化。
for(unsigned int i = 0; i < v.size(); i ++)
{v.assign(n, 0); //初始化第i+1行
}
或者
vector<vector<T>> v; //注意, 如果v(m), 则最后v.size()==2*m
vector<T> temp(n); //某行的初始化
for(int i = 0; i < m; i ++)
{v.push_back(temp); //第i+1行的初始化
}
利用对象的函数实现对数组的遍历。
vector<T>::iterator it = v.begin();
while(v.end() != it)
{*it... //数组的元素...it ++; //下一个元素的地址
}
//注意, 这要求v不能有const修饰符; 否则只能依赖for来遍历。
3.高维数组
模仿二维数组层层套娃即可。
例举三维数组的初始化:
vector<vector<vector<T>>> v; //m*n*k
vector<T> temp(k);
vector<vector<T>> temp2;
for(int i = 0; i < n; i ++)
{temp2.push_back(temp); //初始化n*k
}
for(int i = 0; i < m; i ++)
{v.push_back(temp2); //m的初始化
}
注意,数组的遍历指针是数组的元素的类型而不是数组的类型。
C++之vector的高维数组相关推荐
- vector 容器 动态数组总结
vector 容器 动态数组总结 二话不说直接上代码 #include <vector> #include <algorithm> #include <iostream& ...
- matlab 高维数组赋值,MATLAB之三(高)维数组的创建
使用下标创建 习惯的,将二维数组的第一维称为行,第二维称为列,对于三维数组的第三维称为页.三维以及三维以上的数组称为高维数组,由于高维数组比较抽样,这里主要以三维数组为例介绍如何创建高维数组.%显示A ...
- numpy之高维数组的转置:transpose方法——通过几何体来迅速理解
首先说明,这个方法是博主在理解高维数组转置的transpose 方法时所提出的,因此严谨性和正确性有待考察,但私以为完全可以这样理解,因此做个记录,如果对你有帮助的话欢迎点赞收藏,如果认为有错误的话请 ...
- Vector:动态数组的使用和说明
摘自百度百科: 1. Vector 类在 java 中可以实现自动增长的对象数组; 创建了一个向量类的对象后,可以往其中随意地插入不同的类的对象,既不需顾及类型也不需预先选定向量的容量,并可方便地进行 ...
- Java中高维数组或高维矩阵构建及运算
问题背景 在做实际的商务问题时,经常遇到很高维度的矩阵,针对这个问题,经常会报内存溢出. 最近找到一个fastutil包,可以高效的处理高维数组.下面主要介绍其使用方法. 创建一个二维数组 packa ...
- python高维数据的读取_索引访问高维数组_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...
购买本课程所在专题<Python数据分析师:0基础到数据分析达人>https://edu.51cto.com/topic/2570.html,赠送一本"Python相关图书&qu ...
- Python | Python保存高维数组array,Python用pandas将numpy保存csv文件,Python保存3维数组
保存一维二维数组 # x是你要保存的一维或二维数组 import pandas as pd data = pd.DataFrame(x) data.to_csv('data.csv') 或者这样保存2 ...
- 便利vector_你好,C++!(57)9.2 vector容器是数组的最佳替代者
想要抢先看后面的章节?打赏本文10元,即可获得带插图全本下载地址! (打赏完成私信我) 9.2 vector容器是数组的最佳替代者 在STL尚未诞生的年代,如果要想在程序中保存和管理大量的同类型数据, ...
- 高维数组matlab,MATLAB 高维数组
1 B(2,5,:)=1:3 %子数组赋值创建 数组 B(:,:,1) =0 0 0 0 0 0 0 0 0 1 B(:,:,2) = 0 0 0 0 0 0 0 0 0 2 B(:,:,3) = 0 ...
最新文章
- FT报源检测到目标无法恢复解决过程
- Outlook2013/2016去掉正文中的换行符
- 虚拟化--027 VMware vCenter Server Heartbeat 6.5安装教程
- 3月第3周中国五大顶级域名总量增5.4万 美国减31.5万
- CentOS 5.8 正式发布
- Systick滴答定时器寄存器、delay()延时函数、SysTick_Config函数
- linux下web压力测试工具ab使用及详解
- tp5 分页php不能foreach,tp5框架无刷新分页实现方法分析
- 【选手分享】你想知道的比赛思路这里都有!速查收!
- 关于ArcObjects图层编辑的读写编辑锁
- 【软件】HP惠普打印机能打印不能用扫描软件解决办法
- 微信小程序实现手机屏幕左右旋转,页面元素左右移动,小程序加速计
- Qt开发——网络编程UDP网络广播软件之服务器端
- 基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)
- 基于MQTT协议的WZ指令开发V3.0版本支持onenet
- 计算机上面的字母代表什么意思,电脑主板上面的字母型号是什么意思
- Ubuntu16.04安装cuckoo sandbox
- win10电脑内存莫名过高问题解决
- 2022渣硕秋招复盘
- 图像处理(马赛克效果)
热门文章
- django 类视图装饰器_灵活视图处理的模式,第2部分–使用装饰器
- 全网最全的唐诗,让你了解唐诗。让你明白唐诗皎洁的月光洒到床前,迷离中疑是秋霜一片。仰头观看明月呵明月,低头乡思连翩呵连翩。国破山河在,城春草木深。感时花溅泪,恨别鸟惊心。烽火连三月,家书抵万金。白头搔
- C语言——十进制转换为二进制
- PC(Ubuntu)和树莓派实现无秘ssh
- OpenHarmony学习笔记——Hi3861使用DHT11获取温湿度
- 物联网基于wifi定位模型
- Android自定义之仿360Root大师水纹效果
- 乘风破浪的中国数据库 | 凌云时刻
- 1660s功耗多少w_非公版 1660S 首测 :GDDR6 升级 , 能打大哥 1660Ti
- 第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(上海)(热身赛(A/B) + 正式赛(D/E))