[游戏开发-学习笔记]菜鸟慢慢飞- 冒泡排序
Posted 虎鲨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[游戏开发-学习笔记]菜鸟慢慢飞- 冒泡排序相关的知识,希望对你有一定的参考价值。
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”;
以上是关于[游戏开发-学习笔记]菜鸟慢慢飞- 冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章