1. 程式人生 > >陣列排序演算法之氣泡排序

陣列排序演算法之氣泡排序

一、基本思想

氣泡排序的基本思想就是對比相鄰的元素值,如果滿足條件就交換元素值,把較小的元素移動到陣列的前面,把大的元素移動到陣列後面(也就是交換兩個元素的位置),這樣較小的元素就像氣泡一樣從底部上升到頂部了。

二、演算法實現

package cn.szxy.hq;

/**
 * Created by HQ on 2018/9/30.
 */
public class BubbleSort {
    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        int[] array={12,78,22,63,65,40,23};
        BubbleSort bubbleSort=new BubbleSort();
        System.out.println("排序前:");
        bubbleSort.showArray(array);
        bubbleSort.sort(array);
        System.out.println("排序後:");
        bubbleSort.showArray(array);
    }


    /**
     * 氣泡排序
     * @param array
     */
    public void sort(int[] array) {
        for(int i=1;i<array.length;i++){
            //比較兩個相鄰元素,較大的數往後冒泡
            for(int j=0;j<array.length-i;j++){
                if(array[j]>array[j+1]){
                    int temp=array[j];  //把第一個元素值儲存到臨時變數中
                    array[j]=array[j+1]; //把第二個勻速值儲存到第一個元素單元中
                    array[j+1]=temp;    //把臨時變數(也就是第一個元素的值)儲存到第二個元素中
                }
            }
        }

    }

    /**
     * 顯示陣列中的元素
     * @param array
     */
    public void showArray(int[] array){
        for(int i:array){   //遍歷陣列
            System.out.print(i+" ");    //輸出每一個元素的值
        }
        System.out.println();
    }
}

三、執行結果