Java 冒泡排序

8,9,5,6,4 //使用冒泡排序比较
    //第一轮
8,9,5,6,4
8,5,9,6,4
8,5,6,9,4  
8,5,6,4,9  //第一轮完成
//第二轮,确定最大数字9, 第二轮最大数字不参与排序
5,8,6,4 
5,6,8,4 
5,6,4,8 //第二轮完成
//第三轮 确定次大数字8,第三轮不再参与
5,6,4 
5,4,6   //第三轮完成
//第四轮 确定次次大数字6,第四轮不再参与
4,5//第四轮结束

根据上面的流程图编写冒泡排序的代码


public class maopao {
    //方法sore
    public void sore(int[] arr){
        //第一层循环控制判断几轮
        for (int i = 0; i < arr.length-1; i++) {
            //第二层循环,判断每轮判断几次
            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;
                }

            }

        }
        //输出排好序的数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");

        }
    }

    public static void main(String[] args) {
        int arr[]={8,9,5,6,4,1,4,4,5,6,7,8,9,0};//数组中多加了两个数字
        maopao maopao=new maopao();
        maopao.sore(arr);
    }
}
上一篇:Java 求3000以内亲密数


下一篇:Ubuntu下安装Docker