冒泡算法

package cn.StringBuffer;
/*
 * 
 * 冒泡排序的思想:
 *         相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处
 *
 * */
public class MaoPao {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr = {0,9,5,2,8,7,1,6,3,4};
         maopao(arr);
         bianli(arr);
    }
    public static void bianli(int[] arr){
        for(int i=0;i<arr.length;i++)
        {
            if(i== arr.length-1){
                System.out.print(arr[i]);
            }
            else{
                System.out.print(arr[i]+", ");
            }
        }
        //return arr;
    }
    public static void maopao(int[] arr){
        for(int i =0;i<arr.length-1;i++)
        {
            // 这里length-1是为了防止越界,
            //如果写成for(int j =0;j<arr.length-i;j++)是错误的
            //因为j能取到的最大值是length-1,而下面一句代码j+1,此时j的值到达了length,也就越界
            for(int j =0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        
    }

}

 

posted @ 2015-12-23 01:22  Deleting  阅读(194)  评论(0编辑  收藏  举报