1
2
3
4
5
6

数组

发布时间:2020-03-10 19:06   发布人:焦卫峰   浏览次数:354

1.数组的声明

格式:

类型[ ]数组名称;

 

A[0]

A[1]

A[2]

A[3]

A[4]

A[5]

A[6]

A[7]

A[8]

A[9]

2.数组初始化

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}是可以的

3.数组元素的使用

1)数组中的所有元素必须有相同的数据类型

2)数组a的长度,可以使用数组中的Length属性来得到,即a.Length

3)数组的大小是固定不变的,所以声明数组时必须指明数组的长度

4)数组的下标从0开始,下标到Length-1结束,超过该范围会出现数组越界错误

5)数组不是值类型,是引用类型

6)数组不能整体输入输出

 

举例:

1)斐波那契数列

2)使用数组,求出一组数中的最大数和最小数

思路:

使用循环,先假定第一个数是最大数,也是最小数,循环读取下一个数,如果比最大的还大,最大数改变,同理处理最小数

4.foreach遍历数组

格式:

foreach( 类型名称 变量 in 数组)

{

          //变量可以代替数组中的每一个元素

}

注意:类型名称和变量名缺一不可

5.多维数组

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列整型数组的平均数

6.数组的数组

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

…… …… ……

7.排序算法

https://visualgo.net/zh/sorting

选择法排序思路:

每次循环找出剩余中最大或者最小的数字,使用数组元素的交换将最大的交换到第1个位置,次大的交换到第2个位置……

 

冒泡法排序思路:

从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比较后,最大(或最小)的数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(N-1)遍比较后就可以完成排序。

8.Array类

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.方法名(数组名,……)