A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kingmask 中级黑马   /  2016-4-27 00:02  /  745 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

packagecom.itheima;
importjava.util.Arrays;
/**
* 冒泡排序
* 每次从头开始,两两进行比较,如果逆序则置换
* ,当比较到倒数第二个元素和最后一个元素时就会确定一个最大值,还有n-1个值未确定第一次循环比较了n-1次,
* 当第二次循环时最后一个元素已经为最大值,所以不需要参与比较则第二次循环比较了n-2次
* 当到了第n-1此时就已经有n-1个元素被确定,只有1个元素未确定,这时此元素将再次与自己比较,结果必然为位置不变
* 所以只需进行n-1此循环就可以将所有元素确定位置,冒泡排序是稳定的排序
* @author 周路博
*
*/
public class 冒泡排序 {
       public static void main(String[] args) {
              int[] arr=new int[]{1,2,3,4,5,6,3,2,4,2,4,2,5,65,6,4 };
              bubble(arr);
              System.out.println(Arrays.toString(arr)  );
       }
       private static void bubble(int[] arr){
              //TODOAuto-generated method stub
              int tmp=0;
              for(int i=0;i<arr.length-1;i++ ){
//这里的arr.length-i-1是根据规律将i的每次自增特性纳入同时-1的到每次比较的次数
                     for(intj=0;j<arr.length-i-1;j++){                        
                  if(arr[j]>arr[j+1]){
                                   tmp=arr[j];
                                   arr[j]=arr[j+1];
                                   arr[j+1]=tmp;
                            }
                     }
              }
       }
}


2 个回复

倒序浏览
赞一个  
回复 使用道具 举报
赞一个zzzzzz
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马