1. 程式人生 > 資訊 >谷歌、Facebook 和 Twitter 執行長同意 10 月 28 日在國會作證

谷歌、Facebook 和 Twitter 執行長同意 10 月 28 日在國會作證

氣泡排序法

public static void main(String[] args) {

        int arr[] = {8, 5, 3, 2, 4};

        //冒泡
        for (int i = 0; i < arr.length; i++) {
            //外層迴圈,遍歷次數
            for (int j = 0; j < arr.length - i - 1; j++) {
                //內層迴圈,升序(如果前一個值比後一個值大,則交換)
                //內層迴圈一次,獲取一個最大值
if (arr[j] > arr[j + 1]) { int temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } } }

選擇排序

public static void main(String[] args) {

        int arr[] = {6, 5, 3, 2, 4};

        
//選擇 for (int i = 0; i < arr.length; i++) { //預設第一個是最小的。 int min = arr[i]; //記錄最小的下標 int index = i; //通過與後面的資料進行比較得出,最小值和下標 for (int j = i + 1; j < arr.length; j++) { if (min > arr[j]) { min
= arr[j]; index = j; } } //然後將最小值與本次迴圈的,開始值交換 int temp = arr[i]; arr[i] = min; arr[index] = temp; //說明:將i前面的資料看成一個排好的佇列,i後面的看成一個無序佇列。每次只需要找無需的最小值,做替換 } }

插入排序:預設將第一資料看成有序列表,後面無序的列表迴圈每一個數據,如果比前面的資料小則插入(交換)

public static void main(String[] args) {

        int arr[] = {7, 5, 3, 2, 4};

        //插入排序
        for (int i = 1; i < arr.length; i++) {
            //外層迴圈,從第二個開始比較
            for (int j = i; j > 0; j--) {
                //記憶體迴圈,與前面排好序的資料比較,如果後面的資料小於前面的則交換
                if (arr[j] < arr[j - 1]) {
                    int temp = arr[j - 1];
                    arr[j - 1] = arr[j];
                    arr[j] = temp;
                } else {
                    //如果不小於,說明插入完畢,退出內層迴圈
                    break;
                }
            }
        }
    }