建立動態二維陣列
阿新 • • 發佈:2022-02-18
來源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,部分內容轉載他人的部落格,時間原因沒有註明原文連結,侵權請聯絡我。
“隨筆”板塊僅僅用於個人記憶記錄和他人蔘考,質量較低,“文章”板塊用於記錄個人理解發現認識