上一篇的一維陣列是指一排箱子,二維陣列就會往上疊變成兩排箱子,那麼三維呢?並不是再往上疊三排箱子就是三維而是又多了後面深度,也就是三個維度。用圖示:
這樣有比較懂嗎?!沒關係!之前用箱子,那現在用數學來說明好了,
一維是x軸(長度)
二維是xy軸(長度+高度)
三維是xyz軸(長度+高度+深度)
四維以上就不好畫了,以前三維為例子了解後,四維以後就會懂了。
一、二維陣列
我們先從二維開始說起,它的語法是:
資料型別[ , ] 陣列名稱 = new 資料型別[陣列大小,陣列大小];
1.如何給予初值呢?
資料型別[,] 陣列名稱 = new 資料型別[,]{{內容值,內容值},{內容值,內容值}};
用例子說明:
假若說我要5*2的箱子來布置空房間,那麼就可以這麼寫:
int[,] box = new int[5,2];
若要給予初值呢?就可以這樣寫:
int[,] box=new int[,]{ {2,4} , {3,6} , {4,8} , {5,10} , {6,12} };
用大括號要怎麼看呢?由外而內一層一層的剝開。
第一層的括號有: {2,4} , {3,6} , {4,8} , {5,10} , {6,12}
也就是第一維有5個位置
第二層的括號:{2,4}
也就是第二維有2個位置,再看其他的括號,也都是2個位置,並且裡面也沒有括號了。
因此Box陣列有兩維,陣列大小就是第一層是5,第二層是2。
2. 如何表示數值呢?
Box[0,0]=2 Box[0,1]=4
Box[1,0]=3 Box[0,2]=6
Box[2,0]=4 Box[0,3]=8
Box[3,0]=5 Box[0,4]=10
Box[4,0]=6 Box[0,5]=12
二、三維陣列或多維陣列
三維的語法跟二維差不多,語法是:
資料型別[ , , ] 陣列名稱 = new 資料型別[陣列大小,陣列大小,陣列大小];
二維有1個逗號,三維有2個逗號,n維就有n-1個逗號,就這樣累加上去
用例子說明:
假若說我要5*2*3的箱子來布置空房間,那麼就可以這麼寫:
Int[,] box = new int[5,2,3];
若要給予初值呢?就可以這樣寫:
Int[,] box = new int[,]{ {{1,2,3},{4,5,6}} , {{2,4,6},{8,10,12}} , {{3,6,9},{12,15,18}} , {{4,8,12},{16,20,24}} , {{5,10,15},{20,25,30}} };
圖示表示就會是這樣,內容值我就不寫了,三維就會有深度
四維、五維...依序下去也可以看程式狀況自己定義,方法就如同二維到三維之間宣告不是多逗號,就是在給予值時大括號裡再新增括號。