//数组的应用:
//(一).冒泡排序。
//1.冒泡排序是用双层循环解决。外层循环的是趟数,里层循环的是次数。
//2.趟数=n-1;次数=n-趟数。
//3.里层循环使用if比较相临的两个数的大小,进行数值交换。
//作业:
//1.先把冒泡排序写一遍。
//2.使用冒泡排序,做青歌赛的打分程序。要求去掉两个最高,两个最低分,求平均得分。
//代码。
//(二).折半查找。 //前提:数组必须是有序的。
//思路:用两个变量分别代表上限(top)和下限(bottom)的下标,再用一个变量代表中间(mid)的下标。
//1.求中间下标:mid = (top+bottom)/2 //2.上限下标下移:top = mid+1. 假设数组是升序排列。
//3.下限下标上移:bottom = mid-1; //4.循环条件是:bottom>=top
// static void Main(string[] args)
// {
// int[] a = new int[] { 3, 5, 7, 9, 11, 13, 14, 18 };
// Console.Write("请输入要找的数:");
// int find = Convert.ToInt32(Console.ReadLine());
// int top, bottom, mid; //上限下标,下限下标,中间下标
// top = 0;
// bottom = a.Length - 1;
// while(bottom>=top)
//只要下限下标还在上限下标的下面,就循环,否则没找到就结束。
// {
// 算中间下标
// mid = (top + bottom) / 2;
//
//取中间的值
// int n = a[mid];
// if(n < find)
// {
// top = mid + 1;
//调整上限的下标
// }
// else if(n>find)
// {
// bottom = mid - 1;
// 调整下限的下标。
// }
// else
// {
// Console.WriteLine("找到了,在第" + mid + "个元素上");
// break;
// }
// }
// }
//二维数组:
//表格的模型。
//定义:
// 数据类型[,] 数组名 = new 数组类型[维度长度,维度长度];
// int[,] a = new int[3,4];
// int[,] a = new int[3, 4] { { 1, 2, 3, 4 },{ 5, 6, 7, 8 }, { 9, 0, 9, 8 } };
//赋值: // 数组名[下标,下标] = 值;
// a[0,0] = 5;
// a[2,3] = 10;
//取值:
// 数组名[下标,下标];