《細節》動態建立二維陣列

2021-09-30 11:22:55 字數 1170 閱讀 7722

今天在做乙個關於陣列相似度的題目,需要動態建立二維陣列,剛開始想用常規的int a[ ][ ]建立,但很快就發現行不通,這種常規陣列必須在編譯前指定陣列的維數,而這個題目在的維數必須在執行中計算得出,於是想到採用new來建立動態二維陣列,這個方法行得通,但是很麻煩,也不太利於理解,後面決定採用vector< vector< int > >方法來建立,簡單了不少,下面對兩種方法都進行一下總結。

1.使用vector建立二維陣列

#include #include using namespace std;

void main()

{ //分配記憶體

int a,b;

cout<

cin>>a>>b;

vector< vector> tmp(a);

for(vector::size_type i=0; i::size_type i=0; i::size_type j=0; j::size_type i=0; i::size_type j=0; j其中建立二維陣列的核心程式為:

//分配記憶體

int a,b;

cout<

cin>>a>>b;

vector< vector> tmp(a);

for(vector::size_type i=0; i上述**也可以簡化為:

//二維陣列初始化方式

vector< vector> tmp( a, vector(b) );

2.使用指標和new來建立二維陣列

#include using namespace std;

void main()

{ //分配記憶體

int m,n;

cout<

cin>>m>>n;

int **p = new int *[m];

for(int i=0; i

其中建立二維陣列的核心函式為:

//分配記憶體

int m,n;

cout<

cin>>m>>n;

int **p = new int *[m];

for(int i=0; i

動態建立二維陣列

c 中用new動態建立二維陣列的格式一般是這樣 type p n new type n 其中,type是某種型別,n是二維陣列的列數。採用這種格式,列數必須指出,而行數無需指定。在這裡,p的型別是type n 即是指向乙個有n列元素陣列的指標。還有一種方法,可以不指定陣列的列數 int p p ne...

動態建立二維陣列

1.c 中 使用陣列指標,分配乙個 指標陣列,將其首位址儲存在b中,然後再為指標陣列的每個元素分配乙個陣列 int b new int row 分配乙個指標陣列,將其首位址儲存在b中 for i 0 ib null 例 動態建立二維陣列 void main int col,row cin row c...

建立動態二維陣列

法1既然二維陣列也可以稱為矩陣,那麼我們就可以給二維陣列的每一行開闢一塊空間,然後再用一塊空間把這些空間的行存放和管理起來,這塊空間顯然就是乙個指標陣列,陣列的每乙個元素都是乙個指向乙個陣列的位址。int arr null int row 5 用於表示行數 int col 5 用於表示列數 arr ...