1. 程式人生 > 實用技巧 >GO語言安裝、變數

GO語言安裝、變數

氣泡排序

  • 氣泡排序無疑是最為出名的排序演算法之一,總共有八大排序!
  • 冒泡的程式碼還是相當簡單的,兩層迴圈,外層冒泡層數,裡層依次比較,江湖中人人皆知。
  • 我們看到巢狀迴圈,應該立馬可以得出這個演算法的時間複雜度為O(n^2)
package array;

import java.util.Arrays;

public class ArraysDemo07 {
        public static void main(String[] args) {
        /*氣泡排序
        1.比較陣列中,兩個相鄰的元素,如果第一個數比第二個大,就交換他們的位置
        2.每一次比較,都會產生出一個最大,或者最小的數字
        3.下一輪你則可以少一次排序
        4.依次迴圈,直到結束
         */
            int[] a = {31,51,46,32,5,1,6,41};
            int[] sort = sort(a);
            System.out.println(Arrays.toString(sort));

        }
        public static int[] sort(int[] array){
            int temp = 0;               //臨時變數
            for (int i = 0; i < array.length-1; i++) {          //外層迴圈,判斷我們這個要走多少次
                boolean flag = false;                           //通過flag標識位減少沒有意義的比較
                for (int j = 0; j < array.length-1-i; j++) {    //內層迴圈,比價判斷兩個數,如果第一個數比第二個大,則交換位置
                    if (array[j+1]<array[j]){
                        temp = array[j];                              //交換
                        array[j] = array[j + 1];                      //兩個數
                        array[j + 1] = temp;                          //的位置
                        flag = true;
                    }
                }
                if (flag = false){
                    break;
                }
            }
            return array;
        }
}