首页 > 代码库 > [游戏开发-学习笔记]菜鸟慢慢飞(六)- 冒泡排序
[游戏开发-学习笔记]菜鸟慢慢飞(六)- 冒泡排序
1 /// <summary> 2 /// 冒泡排序算法 3 /// </summary> 4 /// <param name="array"></param> 5 public static void sort(int[] arr) 6 { 7 int temp = 0; 8 for (int i = 0; i < arr.Length - 1; i++) 9 { 10 for (int j = 0; j < arr.Length - 1 - i; j++) 11 { 12 if (arr[j] > arr[j + 1]) 13 { 14 temp = arr[j + 1]; 15 arr[j + 1] = arr[j]; 16 arr[j] = temp; 17 } 18 } 19 } 20 }
小记:
- i < arr.Length - 1,外循环,最后一次比较:最后一位数(没动过)VS 倒数第二位数(可能是交换过的);最后一位数比较完毕了,所以循环次数为 “arr.Length - 1”;
- j < arr.Length - 1 - i,内循环,
- 第一次循环(i=0),比只较到末尾的一对,所以循环次数要“arr.Length - 1 ”
- 第二次循环(i=1),末尾的一对已经比较过了,不需要再比较,我们比较到倒数第二组为止,所以j的循环次数要“arr.Length - 1-1”
- 第三次循环(i=2),末尾的两对已经比较过了,我们比较到倒数第三组为止,所以j的循环次数要“arr.Length - 1-2”
- 类推得出“ j < arr.Length - 1 - i”;
[游戏开发-学习笔记]菜鸟慢慢飞(六)- 冒泡排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。