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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eclipse运行java程序_如何在Eclipse中运行简单的Java程序?「建议收藏」

    eclipse运行java程序_如何在Eclipse中运行简单的Java程序?「建议收藏」正如您可能从问题本身可以理解的那样,我是Java的新手。我进行了一个练习,编写一个Java程序,该程序接收一个字符,将其打印并输出Unicode表中的下一个字符。现在,我有解决此问题的方法:publicstaticvoidmain(String[]args){charc=args[0].charAt(0);charc1=(char)(c+1);System.out.prin…

    2022年7月8日
    20
  • centos挖矿程序解决

    centos挖矿程序解决centos挖矿程序解决第一种办法:1.top找到cup占比最高的程序2.ps-aux|grepCOMMAND3.crontab-l查看定时任务4.然后删除挖矿脚本和定时任务脚本5.如果删不掉chattr-i脚本6.然后再删7.然后crontab-e清除掉脚本内容…

    2022年6月22日
    101
  • 更改pip源至国内镜像,显著提升下载速度

    更改pip源至国内镜像,显著提升下载速度经常在使用python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。网上有很多可用的源,例如豆瓣:http://pypi.douban.com/simple/                     清华

    2022年6月4日
    53
  • 小米红米6Pro解BL锁教程申请BootLoader解锁教程

    小米红米6Pro解BL锁教程申请BootLoader解锁教程*小米红米6Pro线刷兼救砖_解账户锁_纯净刷机包_教程*远程解锁一、准备工作1、注册小米账号:点击注册(已有小米账号请忽视)2、在手机中登陆【小米账号】3、下载并解压【小米解锁工具】或点击这里下载安装二、开始解锁1打开【小米解锁官网】:http://www.miui.com/unlock/,点击【立即解锁】,输入【小米账号】,点击【立即登录】,填写…

    2022年6月11日
    48
  • Web安全 支付逻辑漏洞(不用钱 买任何东西.(也能让商家倒贴钱给我们.))

    Web安全 支付逻辑漏洞(不用钱 买任何东西.(也能让商家倒贴钱给我们.))?我们购买东西正常情况下都是要钱的,如果说平台出现了(支付逻辑漏洞.)那么我们就可以,利用这个漏洞实现不用钱买任何东西,???或者是商家倒贴钱给我们来购买他的东西.(这不学起来吗?)

    2022年6月2日
    29
  • 思科路由器配置命令(一)

    思科路由器配置命令(一)一 路由器基本配置命令 R1 gt enable 进入特权模式 R1 disable 退出特权模式 R1 gt R1 configureter 进入全局配置命令 R1 config noipdomain lookup 关闭域名解析 R1 config hostnameSW1 更改主机名为 SW1R1 config enablepasswo 配置进入特权模式的密码 R1 config interfa

    2025年7月3日
    6

发表回复

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

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