首页 > 编程语言 > 详细

[游戏开发-学习笔记]菜鸟慢慢飞(六)- 冒泡排序

时间:2016-12-28 20:11:07      阅读:230      评论:0      收藏:0      [点我收藏+]
 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”;

[游戏开发-学习笔记]菜鸟慢慢飞(六)- 冒泡排序

原文:http://www.cnblogs.com/workhai/p/6230356.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!