创建动态二维数组
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,部分内容转载他人的博客,时间原因没有注明原文链接,侵权请联系我。
“随笔”板块仅仅用于个人记忆记录和他人参考,质量较低,“文章”板块用于记录个人理解发现认识
以上是关于创建动态二维数组的主要内容,如果未能解决你的问题,请参考以下文章