C#(9)二維、交錯數組

8yue16

二維數組

一維是一條線? 二維則是一個面(表)

有兩個下標的數組,本質上是以數組作為數組元素的數組

類型[,]數組名 = new 類型[? 一維長度 (行 ),? 二維長度 (列)]


二維數組第二個維度必須相同

int[,] arr = new int[2, 3]{ { 2, 3, 4 }, { 5, 6, 7 } };

int[,] arr_1 = new int[,]{ {1,3 }, {4,5 }, {6,7} };

int[,] arr_2 = { { 12, 35, 31 }, { 12, 34, 56 } };


二維遍歷

for (int i = 0; i < 2; ++i) {

for (int j = 0; j < 3; ++j) {

Console.Write("{0}",arr[i,j]);

}

Console.Write (" ");

}

將一個二維數組的行和列交換,存儲到另外一個數組中去

2 , 3 ,5

1 , 6 ,4

2 ,1

3 ,6

5 ,4

int[,]a=new int[3,2]{{1,5},{2,2},{2,3}};

for (int i = 0; i <3; i++) {

for (int j = 0; j <2; j++) {

new [i, j] = a [j, i];

Console.Write (a [i, j]);

}

}

有一個3行4列的二維數組, 要求編程找出最大元素,并輸出所在的行和列;

int[,] arr = new int[3,4]{{1,45,12,1},{3,12,4,13},{12,5,323,4}};

int max = arr[0,0];

int? maxX = 0;

int maxY= 0;

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 4; j++) {

if (max < arr [i, j]) {

max = arr [i, j];

maxX = i;

maxY = j;

}

}

}

Console.WriteLine ("最大元素為{0},行{1},列{2}",max,maxX,maxY);


定義一個三行三列的二維數組,求對角線之和

int[,] arr_3 = {{12,12,44},{14,43,43},{12,53,11}};

int sum = 0;

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

if (i == j) {

sum += arr_3 [i, j];

}

}

}

Console.WriteLine ("sum = "+ sum );、


多維數組



交錯數組

表示一個表格數據,行確定,但是每一個行的列數不同,就可以用交錯數組

本質是一個一維數組, 里面的元素是數組

類型[][]數組名 = new 類型[數組長度][];

在聲明交錯數組的時候,只需要制定一維數組的長度

int[][] arr = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};


交錯數組遍歷

for (int i = 0;i < arr.Length;++i){

for (int j = 0; j < arr [i].Length; ++j) {

Console.Write (arr[i] [j]);

}

Console.WriteLine ( );

}


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容