创建动态二维数组

Posted firhk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建动态二维数组相关的知识,希望对你有一定的参考价值。

来源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));

 

本文来自博客园,作者:firgk,部分内容转载他人的博客,时间原因没有注明原文链接,侵权请联系我。

“随笔”板块仅仅用于个人记忆记录和他人参考,质量较低,“文章”板块用于记录个人理解发现认识

以上是关于创建动态二维数组的主要内容,如果未能解决你的问题,请参考以下文章

动态创建二维数组使用多少大小

创建动态二维数组

动态创建二维数组

如何动态创建二维数组?

使用 ArrayList 创建一个动态二维整数数组

使用指针动态创建二维数组