首页 > 编程语言 > 详细

理解冒泡排序

时间:2015-04-13 22:21:20      阅读:337      评论:0      收藏:0      [点我收藏+]

//之前写过一个排序的方法

//两种方法的大体思路差不多,这个方法是两两比较,一个一个的冒出,冒泡....

int[] a=new int[5]{9,5,6,2,7};//定义一个数组a

for(i=1,i<a.length-1,i++)//外层循环比较的行数 5个元素 比较4行即可 也就是数组的长度-1

{

     for(j=i,j<a.length-i,j++)//里层循环比较的次数,次数是数组的长度减去行数

      {

          if(a[j-1]<a[j])//因为i,j都从1开始的 所以要减去1 不然数组的第一个数永远没法比到 因为下标是0

       int b;           //数组中也就是 9,5比较  9>5  不满足条件 不换

       b=a[j];         //然后是第二轮比较  5与6  5<6 互换位置      数组此时顺序是 9,6,5,2,7

       a[j]=a[j-1];   //第三轮比较      5与2     5>2 不满足条件 不换

       a[j-1]=b;       //第四轮比较      2与7     2<7 互换位置       数组此时顺序是 9,6,5,7,2

      }                   //这样第一个最大的数已经冒出去了 以此类推

}

 

理解冒泡排序

原文:http://www.cnblogs.com/happinesshappy/p/4423374.html

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