vector二维数组初始化赋值_vector实现二维数组的赋值

vector二维数组初始化赋值_vector实现二维数组的赋值一。二维vector初始化1.采用构造函数vector<vector<int>>vec(10,vector<int>(8));//10行8列,全部初始化为零2.添加元素(每次添加一行)inta[]={1,2,3,4};vector<int>ivec(a,a+4);//数组初始化vector,见最下面(…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一。二维vector初始化

1. 采用构造函数 vector<vector<int>> vec(10, vector<int>(8)); //10行8列,全部初始化为零

2.添加元素(每次添加一行)

int a[] = { 1, 2, 3, 4 };

vector<int> ivec(a, a + 4);//数组初始化vector,见最下面(也可以不用数组初始化,直接{}初始化vector)

vector<vector<int> > m;

m.push_back(ivec);

ivec[0] = 5;

ivec[1] = 6;

ivec[2] = 7;

ivec[3] = 8;

m.push_back(ivec);

ivec[0] = 9;

ivec[1] = 10;

ivec[2] = 11;

ivec[3] = 12;

m.push_back(ivec);

ivec[0] = 13;

ivec[1] = 14;

ivec[2] = 15;

ivec[3] = 16;

m.push_back(ivec);

3.直接初始化

vector<vector<char>> board = {
{‘X’,’.’,’.’,’X’},{‘.’,’.’,’.’,’X’},{‘.’,’.’,’.’,’X’}};

 

二。使用数组来初始化 vector 对象

只需要 指明拷贝区域的首元素地址和尾后地址就可以了,下面通过两组程序及其运行结果来深入理解一下:

程序一:

  1. #include <iostream>
  2. #include <vector>
  3. #include <iterator>
  4.  
  5. int main()
  6. {
  7. int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组
  8. // 指出拷贝区域范围,使用数组初始化 vector 对象
  9. vector<int> iv(begin(arr), end(arr));
  10.  
  11. for (auto c : iv) // 输出 vector 对象的内容以验证结果
  12. cout << c << ‘ ‘;
  13. cout << endl;
  14.  
  15. return 0;
  16. }

 

程序一的运行结果为:

11 32 41 25 67 100 88 233,与期望中完全一致

程序二:

 

  1. #include <iostream>
  2. #include <vector>
  3. using std::vector;
  4. using std::cout;
  5. using std::endl;
  6.  
  7. int main()
  8. {
  9. int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组
  10. // 指出拷贝区域范围,使用数组初始化 vector 对象
  11. vector<int> iv(arr + 2, arr + 7);
  12.  
  13. for (auto c : iv) // 输出 vector 对象的内容以验证结果
  14. cout << c << ‘ ‘;
  15. cout << endl;
  16.  
  17. return 0;
  18. }

 

程序二的运行结果为:

41 25 67 100 88,与期望中完全一致

需要特别注意的是, vector 对象不能用来初始化数组 ,这个过程是不可逆的。

 

三。

vec.size()是行数

vec[0].size()是列数

for (int i =0;i<vec.size();++i)

{

for (int n = 0; n<vec[0].size();++n)

{

cout << vec[i][n] << ” “;

}

cout << endl;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192176.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 全面解析傅立叶变换(非常详细)

    全面解析傅立叶变换(非常详细)前言第一部分、DFT第一章、傅立叶变换的由来第二章、实数形式离散傅立叶变换(RealDFT)从头到尾彻底理解傅里叶变换算法、下第三章、复数第四章、复数形式离散傅立叶变换前言:“关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很

    2022年10月21日
  • linux tar.gz zip 解压缩 压缩命令

    linux tar.gz zip 解压缩 压缩命令

    2021年12月10日
  • 吐血总结:解决 Reboot and select proper boot device or ……以及其它蓝屏黑屏「建议收藏」

    吐血总结:解决 Reboot and select proper boot device or ……以及其它蓝屏黑屏「建议收藏」程序猿一枚,笔记本用了两年了,被我鼓捣的死去活来,难免会跟我闹些“小别扭”,借助各种黑屏蓝屏对我“发脾气”~开始还好(一年前),一些小错误还都镇的住,免去了重装系统带来的麻烦。近来不知怎地,各种傲娇,疯狂蓝屏、自动重启外加重启后黑屏,最让我头疼的就是Rebootandselectproperbootdeviceor。。。这个错误,以前都还好,出现这个错误之后进入BIOS面板来回调…

    2022年4月30日
  • quotient函数_Mid函数

    quotient函数_Mid函数今天学到一个新函数,很有用QuotedStr(s);//在s两边加单引号,这样就不会看着n多的单引号糊涂了。。。转载于:https://www.cnblogs.com/studypanp/p/4917369.html…

    2022年10月18日
  • python的缩进通常使用_python缩进格式

    python的缩进通常使用_python缩进格式Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c有很大的不同(传统的c/c使用花括号花括号{}符决定作用域的范围;python使用缩进空格来表示作用域的范围,相同缩进行的代码是处于同一范围)。每行代码中开头的空格数(whitespace)用于计算该行代码的缩进级别(Indentationlevel),注意一个Tab会被替换为1~8个Space(具…

    2022年10月10日
  • 深入理解java反射机制

    深入理解java反射机制一,java的核心机制java有两种核心机制:java虚拟机(JavaVirtualMachine)与垃圾收集机制(Garbagecollection):Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。Java垃圾回收(GarbageCollection):自动释放不用对象

    2022年5月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号