冒泡排序+選擇排序

1.先設置數組長度,設置爲隨機數

        int arr[] = new int[5];
        for (int i = 0; i<arr.length;i++){
            arr[i] = (int) (Math.random()*100);
            System.out.println("隨機數:"+arr[i]);
        }

2.1冒泡排序----倒序排列

冒泡思路:

  1. 從第一位開始,把相鄰兩位作比較,如果發現前面的數比後面的大,就把數 據交換到前面,第一位就是最大的
  2. 再來比較一次,只不過不用比較第一位數了
  3. 以此類推…
      for (int i = 0; i<arr.length;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;
                }
            }
        }
       System.out.println("冒泡排序倒序排列:"+ Arrays.toString(arr));

排序前的數組是:[38, 3, 16, 65, 14]
冒泡排序倒序排列:[65, 38, 16, 14, 3]

2.2 冒泡排序------正序排列

for (int i = 0;i<arr.length;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;
                }  
            }
        }
 System.out.println("冒泡排序:"+ Arrays.toString(arr));

排序前的數組是:[86, 75, 11, 8, 30]
冒泡排序正序排列:[8, 11, 30, 75, 86]

31.選擇排序—正序排列
選擇思路:

  1. 把第一位與其他所有數進行比較,只要是比第一位小的,就放在第一位上,這樣比較下來,第一位就是最小的
  2. 再用第二位數與其他所有數進行比較,比第二位小,就放在第二位上
  3. 以此類推…
         for (int i = 0; i<arr.length;i++){
            for (int j =i+1 ;j<arr.length;j++){
                if (arr[i]>arr[j]){
                    int temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;

                }
            }
        }
        System.out.println("選擇排序正序排列:"+Arrays.toString(arr));

排序前的數組是:[33, 7, 30, 66, 4]
選擇排序正序排列:[4, 7, 30, 33, 66]

3.2選擇排序—倒序排列

for (int i = 0; i<arr.length;i++){
            for (int j =i+1 ;j<arr.length;j++){
                if (arr[i]<arr[j]){
                    int temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;

                }
            }
        }
        System.out.println("選擇排序倒序排列:"+Arrays.toString(arr));

排序前的數組是:[41, 33, 72, 59, 22]
選擇排序倒序排列:[72, 59, 41, 33, 22]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章