ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

创建动态二维数组

2022-02-18 10:02:14  阅读:139  来源: 互联网

标签:arr int 创建 二维 vector 数组 col row


来源https://blog.csdn.net/guaiguaihenguai/article/details/78565049

法1

既然二维数组也可以称为矩阵,那么我们就可以给二维数组的每一行开辟一块空间,然后再用一块空间把这些空间的行存放和管理起来,这块空间显然就是一个指针数组,数组的每一个元素都是一个指向一个数组的地址。

 int **arr = NULL;
 int row = 5;//用于表示行数
 int col = 5;//用于表示列数
 arr = new int*[row];//开辟一块内存来存放每一行的地址
 for (int i = 0; i < row; i++)//分别为每一行开辟内存
     arr[i] = new int[col];

 

#include<bits/bits/stdc++.h>
using namespace std;
int main()
{
    
    int **arr=NULL;
    int row=5; int col=5;
    arr=new int*[row];
    for(int i=0;i<col;i++)
        arr[i]=new int[col];
    //int *arr;
    //arr= new int[5]; 
    
    return 0;
}

法2

利用vector来创建一个二维数组

上边说了二维数组也可以说是一个一维数组,它的每一个元素都是一个一维数组。而vector的底层就是一个数组,如果将vector的类型给个vector类型,就是一个二维数组了。

看代码:

int row = 6;
int col = 6;
vector<vector<int>> array(row);//创建一个有row行的二维数组arr
for (int i = 0; i < col; i++)
     array[i].resize(col);//设置每一行的元素个数,即列数

 

vector<vector<int>> dp(weight.size(), vector<int>(bagweight + 1, 0));

 

标签:arr,int,创建,二维,vector,数组,col,row
来源: https://www.cnblogs.com/firhk/p/15907367.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有