黑马程序员技术交流社区

标题: java算法之冒泡排序 [打印本页]

作者: kingmask    时间: 2016-4-27 00:02
标题: java算法之冒泡排序
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;
                            }
                     }
              }
       }
}



作者: ZZT    时间: 2016-4-27 19:46
赞一个zzzzzz




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2