一维数组的声明和赋值
1 //声明数组
2 //string[] nameArr=null;
3 //nameArr = new string[5];
4
5 int[] scoreArr = new int[5];
6
7
8
9 //声明和实例化的同时去给元素赋值
10 string[] nameArr ={ "jack", "tom", "lucy" };
11 nameArr[2] = "LUCY";
12 //修改第三个元素
冒泡排序
1 #region 重点冒泡排序
2 //外层循环控制比较的次数,比较次数是scoreArr.Length-1
3 for (int i = 0; i < scoreArr.Length-1; i++)
4 {
5 //里面的循环是每次排序时,都是从最下面的元素,将其和前一个元素比较
6 for (int j = scoreArr.Length - 1; j > i; j--)
7 {
8 //如果当前元素比前一个小,就交换位置
9 if (scoreArr[j] < scoreArr[j - 1])
10 {
11 double temp = scoreArr[j];
12 scoreArr[j] = scoreArr[j - 1];
13 scoreArr[j - 1] = temp;
14 }
15 }
16 }
17 #endregion
一维数组的遍历
1)foreach
foreach (int a in arr)
{
Console.Write(a+"\t");
}
2)for
for (int i = 0; i < c; i++)
{
Console.Write(scoreArr[i] + "\t");
}
数组的方法
Array.Reverse(arr);//反转元素
Array.Sort(names);//排序
names.CopyTo(names2, 0); //数组的拷贝,0指定目标索引
例:点名
1 namespace Demo006
2 {
3 class Program
4 {
5 static void Main(string[] args)
6 {
7 string[] names = { "jack", "tom", "lucy", "lili", "amy" };
8 Random r = new Random();
9
10 int len = names.Length;
11 while(true)
12 {
13 Console.WriteLine("按任意键开始点名:.............");
14 Console.ReadKey(true);
15 int index = r.Next(len);
16 //将产生的下标后面的元素往前移动
17 for (int i = index + 1; i < len; i++)
18 {
19 names[i - 1] = names[i];
20 }
21
22 len--;
23
24 Console.ForegroundColor = ConsoleColor.Red;
25 Console.WriteLine("点到的同学是:{0}",names[index]);
26
27 Console.ResetColor();
28
29 if (len < 1)
30 break;
31 }
32 Console.ReadKey();
33 }
34 }
35 }