冒泡排序
冒泡排序:前面的数据两两对比,数据大的总是交换到后面的位置,结果显示为顺序从小到大排列
public class t04 {
    public static void main(String[] args) {
        int [] arr = new int [10];
        for (int i = 0; i < arr.length; i++) {
            //(random * (b - a + 1) + a)   a~b的随机数,使用random生成的随机数会有重复的数据
            int r = (int)(Math.random() * (90 - 10 + 1) + 10);
            arr[i] = r;
        }
                for(int i = 0; i < arr.length; i++) {
                    System.out.print(arr[i] + " ");
                }
                System.out.println();  //外循环结束 换行 使每一行都比上一行多一列
                //外层循环决定冒泡次数
                for (int i = 0; i < arr.length - 1; i++) {
                    
                    //重复比较交换的过程,一个最大的元素就排到最后面
                    //单次冒泡
                    for(int j = 0; j < arr.length - 1; j++) {
                        //核心算法 : 当前元素如果比后一个大  交换两个元素的值
                        if (arr[j] > arr[j + 1]) {
                            int temp = arr[j] ;
                            arr[j] = arr[j + 1];
                            arr[j + 1] = temp;
                        }
                    }
                    for(int j = 0; j < arr.length; j++) {
                        System.out.print(arr[j] + " ");
                    }
                    System.out.println();
                }
    }
}
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号