二維陣列與遞迴

2021-10-04 19:37:00 字數 2985 閱讀 1923

其實二維陣列其實就是每乙個元素為一維陣列的陣列。

二維陣列格式1

資料型別[

] 變數名 =

new 資料型別[m]

[n];

m表示這個二維陣列有多少個一維陣列 必須寫上

n表示每乙個一維陣列的元素個數 可選

舉例:

int

arr=

newint[3

][2]

;

定義了乙個二維陣列arr,這個二維陣列有3個一維陣列,名稱為arr[0],arr[1],arr[2]。每個一維陣列有2個元素,可以通過arr[m][n]來獲取表示獲取第m+1個一維陣列的第n+1個元素

注意:下面定義的區別

int x,y;

int[

] x,y;

//定義了兩個陣列 乙個是一維陣列x 乙個是二維陣列y

二維陣列格式2

資料型別[

] 變數名 =

new 資料型別[m]

;

m表示這個二維陣列有多少個一維陣列

這一次沒有直接給出一維陣列的元素個數,可以動態的給出。

舉例:

int

格式一是定義了乙個長度為2的二維陣列,並且為它的每個元素(一位陣列)進行了初始化(預設為0);格式二是只定義了乙個長度為2的二維陣列(每個元素預設值為null)二維陣列格式3

資料型別[

] 變數名 =

new 資料型別[

],,.

..};

簡化版:

資料型別[

] 變數名 =,,

};

這個格式屬於靜態初始化:由我們指定具體的元素值,由系統給分配長度

舉例:

int

arr =,,

};int[

] arr =,,

};

public

static

void

main

(string[

] args),,

};for(

int i=

0;i}

public

static

void

main

(string[

] args),,

};int sum=0;

for(

int i=

0;isystem.out.

println

(sum)

;}

public

static

void

main

(string[

] args)

//收尾列賦值為1

for(

int i=

2;i//從第三行,第二列開始每個元素等於上一行本列加前一列

for(

int i=

0;i) system.out.

println()

;//遍歷出三角形

基本資料型別形參的改變不影響實參,引用型別形參的改變會影響到實參。

a:遞迴概述: 方法定義中呼叫方法本身的現象

b:遞迴注意事項

要有出口,否則就是死遞迴

次數不能太多,否則就記憶體溢位

以5!為例:

案例演示: 需求:兔子問題(斐波那契數列)

有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問第二十個月的兔子對數為多少?

由此可見兔子物件的資料是:1 , 1 , 2 , 3 , 5 , 8 …

public

static

void

main

(string[

] args)

private

static

intgetnum

(int month)

else

return num;

}

二維陣列與二維指標

1.二維陣列的儲存是線性的,可以通過一維指標的方式訪問。如一下 int map 5 5 int mapd map 0 0 則 map i j mapd i 5 j 而利用二維陣列線性儲存的特性,可以將二維陣列當作一維指標方便的在函式之間傳遞 如 將乙個二維陣列賦值給乙個動態二維陣列,引數設定為一維指...

二維陣列與二維指標

一.指標與二維陣列 以martix 3 4 為例 1.二維陣列的本質 int martix 3 4 int martix 3 4 int 4 martix 3 令int 4 為type,type martix 3 為含有三個元素的陣列,每乙個元素型別為int 4 int 4 是乙個擁有4個int型別...

一維陣列與二維陣列

1.一維陣列的定義格式為 型別說明符 陣列名 常量表示式 在定義陣列時,需要指定陣列中元素的個數,方括弧中的常量表示式用來表示元素的個數,即陣列長度。常量表示式中可以包括常量和符號常量,但不能包含變數。c語言不允許對陣列的大小作動態定義,即陣列的大小不依賴於程式執行過程中變數的值。在定義陣列時對陣列...