C#---数组的介绍及它的常用点

1.数组是什么

我们知道,数组是大部分编程语言中都支持的一种数据类型。数组是包含若干相同类型的变量,这些变量都可以通过索引进行访问。数组中的变量称为元素,能够容纳元素的数量称为数组的长度。数组中的每一个元素都具有唯一的索引与其相对应,数组的索引从零开始。

2.数组的类型

a.一维数组:

一维数组是具有相同数据类型的一组数据的线性集合。一维数组的声明及初始化:
第一种:

int [] arr= new int [5];//数组中的每一个元素初始化为默认值0

第二种:

int [] arr= new int [5]{1,2,3,4,5};  //数组初始化的值为用户自定义的值

第三种:

string [] str ={"Sun","Mon","Tue","Wed"}; //初始化数组省略new 关键字和数组的长度

b.多维数组

多维数组是指可以用多个下标访问的数组,声明时,方括号内加逗号,有n个逗号,就是n+1维数组。以二维数组为例,二维数组的声明及初始化:
第一种:

int [,] arr =new int [3,2]; //数组中的每一个元素都初始化为0;

第二种:

int [,] arr= new int [3,2] { {1,2},{3,4},{5,6} }; //数组初始化为用户自定义的值,这种方式要注意:
数组大小必须与大括号中的元素个数相匹配。

c.不规则数组
前面讲的数组都是行和列固定的矩形方阵,下面要讲不规则数组,即不同行的元素个数完全不同,例如:

 int [] [] a=new int [3] [];
 a[0]=new int [5];
 a[1]=new int [4];
 a[2]=new int [3];

3.数组的获取

Console.WriteLine("输入数组的长度");
int a = Convert.ToInt32(Console.ReadLine());
int[] b = new int[a];
//数组的获取
for (int i = 0; i < a; i++)
{
 Console.WriteLine("请输入第{0}个数组的值", i);
 b[i] = Convert.ToInt16(Console.ReadLine());
}

或者简单粗暴一点的

            Console.Write("输入长度");
            int a;
            a = Convert.ToInt32(Console.ReadLine());
            int[] n = new int[a];
            for (int i = 0; i < a; i++)
            {
                n[i] = Convert.ToInt32(Console.ReadLine());
            }

4.数组的遍历

数组的遍历是指将数组中的每一个元素输出,可以用for循环,也可以用foreach语句
第一种:for循环

int[] arr = new int[5] { 1, 2, 3, 4, 5 };
            for (int i=0;i<arr.Length;i++)
            {
                Console.Write(arr[i]);
            }

输出结果:12345
第二种:foreach语句

int[] arr = new int[5] { 1, 2, 3, 4, 5 };
            foreach(int i in arr)
            {
                Console.Write(i);
            }

两种输出结果是一样的

5.数组的排序

a.冒泡排序
最简单的一种排序法,假设长度为n的数组arr,要按从小到大的顺序排序数组中的元素,则冒泡排序的过程可以描述为:从数组中的第一个元素到最后一个为止,对数组中的两个相邻元素进行比较,若左边的大于右边的,则交换它俩的位置,这时数组最右端元素为该数组中元素最大值。

void BubbleSort(int arr[], int length)
{
	for (int i = 0; i < length; i++)
	{
		for (int j = 0; j < length -  i - 1; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int temp;
				temp = arr[j + 1];
				arr[j + 1] = arr[j];
				arr[j] = temp;
			}
		}
	}
}

还有几种排序,等小编再整理整理吧…

你可能感兴趣的:(C#基础整理,c#)