C#数组
首先数组是什么东西?
数组在内存中连续存储同一类型的数据的空间。
为什么需要数组?
实际应用中需要存在同一类型的大量数据。
一维数组的定义:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[10];
string[] s = new string[10];
数据类型[] 数组名 = new 数据类型[长度]{值的列表,中间用逗号隔开};
int[] arr = new int[10]{1,3,5,7,9,11,13};
string[] s = new string[]{"aaa","bbb","ccc"};
数组的赋值与取值:
使用下标来操作数组中的每个元素。
数组名[下标] = 值;
数组名[下标];
数组的下标是从0开始的;最大的下标值要比数组的长度小1。
好处:
1.一次定义多个存储数据的空间。
2.可以与for循环配合用,使用循环变量作为数组的下标。
数组应用:
一、冒泡排序
趟数和次数:
每趟出来一个最小(最大)的数。
每次比较相邻的两个数,按要求交换位置。
for(循环趟数)
{
for(循环每趟次数)
{
}
}
趟数:n-1趟
次数:n-趟数
for (int i = 1; i<=a.Length-1; i++) //趟数 n-1
{
for (int j = 1;j<=a.Length-i ; j++) //每趟中比较的次数 n-i
{
if (a[j - 1] > a[j])
{
int temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
}
}
}
二维数组:相当于是个表格。
存贮连续,同一类数据。
二维数组的定义:
int[,] a = new int[3, 4];
int[,] a = new int[3, 4] {
{ 1, 2, 3, 4 },
{ 5, 6, 7,10 },
{ 8, 9,11,12 }
};-----最后一行花括号后面没有逗号
二、赋值与取值:
a[行下标,列下标] = 值
a[行下标,列下标];
起始行位置和列位置也是从0 开始,即第一个元素的位置为a[0,0]。
int[,] a = new int[3, 4];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
a[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
Console.Write(a[i, j] + "\t");
}
Console.WriteLine();//换行
}