复杂数据类型(二)

复杂数据类型(二)

一.二维数组

基本概念

二维数组是使用两个下标(索引)来确定元素的数组,两个下标可以理解成行标和列标。

eg: 1 2 3

4 5 6

可以用二维数组int[2,3]表示,好比两行三列的数据集合。

在内存里面依据行优先存储原则,一行行横向存放。

二维数组的申明

变量类型[,]二维数组变量名;

1
int [,] arr;//申明过后要在后面进行初始化

变量类型[,]二维数组变量名 =new 变量类型[行,列];

1
int [,] arr2=new int[3,3];

变量类型[,]二维数组变量名 =new 变量类型[行,列]

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

变量类型[,]二维数组变量名 =new 变量类型[,]

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

变量类型[,]二维数组变量名 =;

1
int [,] arr5={{1,2,3},{1,2,3}{1,2,3}};

二维数组的使用

二维数组的长度

我们要获取行和列分别是多长.

1
2
3
4
5
int[,] array =new int[,]{{1,2,3},{4,5,6}}
Console.WriteLine(array.GetLength(0));
//得到多少行;
Console.WriteLine(array.GetLength(1));
//得到多少列;

获取二维数组中的元素

依据下标进行索引.

1
Console.WriteLine(array[0,1]);

修改二维数组中的元素

1
2
array[0,0]=99;
Console.WriteLine(array[0,0]);

遍历二维数组

嵌套循环(不想写啦啦啦啦啦啦)

增加数组的元素

和一维函数一样,还是通过”搬家”的思想,数组声明初始化后,就不能在原有的基础上进行添加或删除了.

1
2
3
4
5
6
7
8
9
int[,]array=new int[2,3];//原有数组
int[,]array2=new int[3,3];//新数组
for(int i=0;i<array.GetLength(0);i++){
for(int j=0;j<array.GetLength(1);j++){
array2[i,j]=array[i,j];
}
}
array=array2;
//更换地址.

删除数组的元素

和增加异曲同工,也不想写啦!!!!!!

查找数组中的元素

进行遍历查找,必要可以使用算法.

二.交错数组

(咱们了解一下即可,实际应用较少)

基本概念

交错数组是数组的数组,每个维度的数量可以不同。

注意:二维数组的每行的列数相同,交错数组每行的列数可能不同。

数组的申明

变量类型[ ]//[ ] 交错数组名;

1
2
int[][]=arr1;
//与二维数组不同的是方框里面没有逗号。

之后的申明和一维二维差不多,直接写了,不起标题了。

1
2
3
4
5
6
7
8
9
10
11
12
13
int[][] arr2=new int[3][];
//有三行,但是具体多少列,不确定.
int[][] arr3=new int[3][]{new int[]{1,2,3},
new int[]{1,2},
new int[]{1};
}
//行数固定,列数不固定,数组类型仍然一致,是“数组的数组”。
int[][] arr4=new int[][]{new int[]{1,2,3},
new int[]{1,2},
new int[]{1}};
int[][] arr5={new int[]{1,2,3},
new int[]{1,2},
new int[]{1}};

数组的使用

数组的长度

1
2
3
4
5
6
int [][] array={new int[]{1,2,3},
new int[]{4,5}};
Console.WriteLine(array.GetLength(0));
//得到行数.
Console.WriteLine(array[0].Length);
//得到某一行的列数.

获取交错数组中的元素

直接获取,不解释。

修改交错数组中的元素

同上,直接赋值。

遍历交错数组

1
2
3
4
5
6
for(int i=0;i<array.GerLength(0);i++){
for(int j=0;j<array[i].Length;j++){
Console.WriteLine(array[i][j]);
}
}
//列的获取要先得到行.

复杂数据类型(二)
https://gaster44.github.io/2023/11/16/复杂数据类型(二)/
作者
huangjinhong
发布于
2023年11月16日
许可协议