格式:
类型[ ]数组名称;
A[0] | A[1] | A[2] | A[3] | A[4] | A[5] | A[6] | A[7] | A[8] | A[9] |
1) int[ ]a;
a=new int[5];
2) int [ ]a=new int[5];
3) int [ ]a={1,2,3,4,5};
4) int [ ]a=new int[5]{1,2,3,4,5};
5) int [ ]a=new int[ ]{1,2,3,4,5};
注意:
不能写成 int [ ]a;
a={1,2,3,4,5}; //写成a=new int[]{1,2,3,4,5}是可以的
1)数组中的所有元素必须有相同的数据类型
2)数组a的长度,可以使用数组中的Length属性来得到,即a.Length
3)数组的大小是固定不变的,所以声明数组时必须指明数组的长度
4)数组的下标从0开始,下标到Length-1结束,超过该范围会出现数组越界错误
5)数组不是值类型,是引用类型
6)数组不能整体输入输出
举例:
1)斐波那契数列
2)使用数组,求出一组数中的最大数和最小数
思路:
使用循环,先假定第一个数是最大数,也是最小数,循环读取下一个数,如果比最大的还大,最大数改变,同理处理最小数
格式:
foreach( 类型名称 变量 in 数组)
{
//变量可以代替数组中的每一个元素
}
注意:类型名称和变量名缺一不可
int [,] a={{1,2,3,4},{5,6,7,8},{9,0,1,2}}
int [,]a=new int[3,4];
A[0,0]=1 | A[0,1]=2 | A[0,2]=3 | A[0,3]=4 |
A[1,0]=5 | A[1,1]=6 | A[1,2]=7 | A[1,3]=8 |
A[2,0]=9 | A[2,1]=0 | A[2,2]=1 | A[2,3]=2 |
举例:
编程实现求一个3行4列整型数组的平均数
1) int[ ][ ]a;
a=new int[2][ ];
a[0]=new int[3];
a[1]=new int[2];
2) int [ ][ ]a={new int[ ]{1,2,3},new int[ ]{4,5},new int[ ]{5,6,7,8}};
int[ ][ ]b=new int[2][ ]{new int[3]{1,2,3},new int[2]{2,3}};
说明:
一维数组、多维数组的长度指的是元素的个数
数组的数组的长度指的是包含几个数组
举例:
打印出以下的杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…… …… ……
https://visualgo.net/zh/sorting
选择法排序思路:
每次循环找出剩余中最大或者最小的数字,使用数组元素的交换将最大的交换到第1个位置,次大的交换到第2个位置……
冒泡法排序思路:
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比较后,最大(或最小)的数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(N-1)遍比较后就可以完成排序。
Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义。Array 类提供了各种用于数组的属性和方法。
Array 类的属性:
最常用的属性是Length(使用方法:数组.Length)
Array类的最常用方法:
Clear(array,index,length)
设置数组array中从index开始长度为length的元素为零(false 或null)。
Copy(array1, array2, Iength)
从数组的第一个元素开始复制length个元素到另一个数组的第一个元素位置。
Reverse(array)
翻转array。
Sort(array)
数组array排序。
使用方法都是使用Array.方法名(数组名,……)