1. 程式人生 > >劍指offer之氣泡排序

劍指offer之氣泡排序

氣泡排序

歡迎關注作者部落格
簡書傳送門

  氣泡排序(Bubble Sort),它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
  這個演算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端,所以叫“氣泡排序”。

原理

  氣泡排序演算法的原理如下:
  比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
  針對所有的元素重複以上的步驟,除了最後一個。
  持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

/**
 * @program:
 * @description: 氣泡排序
 * @author: zhouzhixiang
 * @create: 2018-11-02 20:57
 */
public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = new int[]{5,6,4,3,2,8,9,1,10,6,7};
        bubbleSort(arr);
        for (int i = 0; i < arr.length; i++){
            System.
out.print(arr[i]+"-"); } } private static void bubbleSort(int[] arr) { int temp = 0; for (int i = 0; i < arr.length - 1; i++) { for (int j = arr.length - 1; j > i; j--) { if(arr[j] < arr[j-1]){ temp = arr[j]; arr[
j] = arr[j-1]; arr[j-1] = temp; } } } } }

歡迎加入Java猿社群
掃碼_搜尋聯合傳播樣式-標準色版.png