天天看點

5.5 編寫程式,定義一個有8個元素的整形數組,然後使用選擇排序對該數組按升序排序。選擇排序法先找到數列中最小的數,然後将它 和第一個元素交換 在剩下的數中找到最小的,将它和第二個數交

1.

package bookTest3;

public class FivePointFive {
    public static void main(String[] args) {
        /*
        編寫程式,定義一個有8個元素的整形數組,然後使用選擇排序對該數組按升序排序。選擇排序法先找到數列中最小的數,然後将它
        和第一個元素交換 在剩下的數中找到最小的,将它和第二個數交換。一次類推直到數列中隻剩一個數為止
        意思就是 定義8個元素的數組 從小到大排列
         */
     // 建立一個數組
       int[] arr = {1 ,3 ,5 ,7 ,2 ,4,6,8};
       //周遊這個數組
        System.out.println("原數組的順序為:");
        for (int number:arr) {
            System.out.print(number+" ");
        }
        /*找出數組中最小的值(大體思想為先設第一層循環的i為k 假設這個k大于k+1 那麼把j指派給k 如果i!=k 就是第一個數就是)
        這個數組的最小值 把這個值賦給temp 最後指派給k
         */
        for (int i = 0; i <arr.length-1 ; i++) {
            int k = i;
            for (int j = k+1; j <arr.length ; j++) {
                if (arr[j] <arr[k]) {
                    k = j;
                }
            }
            if (i != k) {
                int temp = arr[i];
                arr[i] = arr[k];
                arr[k] = temp;
            }
        }
        //換行周遊輸出 調換位置後的數組
        System.out.println();
        System.out.println("排序後的順序為:");
        for (int number:
             arr) {
            System.out.print(number+" ");
        }

    }
}
           

2.代碼運作結果圖

5.5 編寫程式,定義一個有8個元素的整形數組,然後使用選擇排序對該數組按升序排序。選擇排序法先找到數列中最小的數,然後将它 和第一個元素交換 在剩下的數中找到最小的,将它和第二個數交

繼續閱讀