1 / 10

学习目标 掌握二维数组定义 掌握二维数组使用

学习目标 掌握二维数组定义 掌握二维数组使用. 计算数组中的最大值和最小值. static void Main( ) { int[] nums=new int[]{99,-10,8,36,12,24,88,-9,105,100123}; int a=nums[0]; int b=nums[0]; for(int j=1;j<nums.Length;j++) {

Download Presentation

学习目标 掌握二维数组定义 掌握二维数组使用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 学习目标 • 掌握二维数组定义 • 掌握二维数组使用

  2. 计算数组中的最大值和最小值 static void Main( ) { int[] nums=new int[]{99,-10,8,36,12,24,88,-9,105,100123}; int a=nums[0]; int b=nums[0]; for(int j=1;j<nums.Length;j++) { if(nums[j]<a) a=nums[j]; if(nums[j]>b) b=nums[j]; } Console.WriteLine(“a={0} b={1}”a , b); }

  3. 二维数组 • 二维数组的定义 • 二维数组的初始化 • 定义和初始化使用 [ , ] double [ , ] dArr; dArr=new double[ 3, 4 ] ; double [ , ] dArr=new double[ 3, 4 ] ; int [ , ] IArr=new int[ , ] {{1, 3}, {2, 4}, {5,6}};

  4. 操作实例:已知5个考生4门功课的考试成绩为:操作实例:已知5个考生4门功课的考试成绩为: 考生1 88 75 62 84 考生2 96 85 75 92 考生3 68 63 72 78 考生4 95 89 76 98 考生5 76 65 72 63 求每位考生的平均成绩。

  5. static void Main( ) { int [ ] Ave=new int[5]; //定义一个一维数组存储考生的总成绩 int [ , ] grade={{88,75,62,84},{96,85,75,92}, //定义二维数组存储考生成绩 {68,63,72,78},{95,89,76,98}, {76,65,72,63}}; for(int i=0; i<5; i++) { for(int j=0; j<4; j++) { Ave[i]+=grade[ i , j ]; //累加考生成绩 } } for(int k=0;k<10;k++) { Console.WriteLine(“考生{0}平均成绩={1} ”,k+1, Ave[k]/4.0); } }

  6. 操作实例: 在二维数组a中选出各行最大的元素组成一个一维数组b。 a= (3 16 87 65 4 32 11 108 10 25 12 37) b= (87 108 37)

  7. 冒泡排序 冒泡排序: 第一轮:比较了4次 第二轮:比较了3次 16 9 25 16 9 9 23 25 23 25 90 90 23 第三轮:比较了2次 第四轮:比较了1次 每次比较相邻两数 小的交换到前面 每轮结束后最大的数交换到最后

  8. 用二重循环实现冒泡排序 • 如何用二重循环将5个数字排序?N = 5 • 5个数字存放在一维数组中 • 外层循环控制比较多少轮,循环变量 i • 内层循环控制每轮比较多少次,循环变量 j 内层循环 外层循环 循环4次:j < 4 第一轮:比较了4次 i = 0 第二轮:比较了3次 循环3次:j < 3 i = 1 j < ? i < 4 i = 2 循环2次:j < 2 第三轮:比较了2次 第四轮:比较了1次 循环1次:j < 1 i = 3 i < N-1 j < N-1-i j < 4-i

  9. 用二重循环实现冒泡排序 • 代码框架: • 冒泡排序速记口诀(升序): • N 个数字来排队 • 两两相比小靠前 • 外层循环 N-1 • 内层循环 N-1-i for (i = 0; i < N-1 ; i++) { for (j = 0; j < N-1-i; j++) { // 比较j 和j+1 位置的元素 // 如果前大后小就交换 } } 示例:将5个学员成绩排序

  10. 冒泡排序 • 关键代码分析: for (i = 0; i < scores.Length -1 ; i++) { for (j = 0; j < scores.Length -1 - i; j++) { if (scores[j] > scores[j + 1]) { // 交换元素 temp = scores[j]; scores[j] = scores[j + 1]; scores[j + 1] = temp; } } } 外层循环终止条件:数组长度-1 内层循环终止条件: 数组长度 – 1 - i 经过一轮比较交换, 最大的元素换到了最后面

More Related