Java排序算法——冒泡排序

冒泡排序
基本原理:相鄰兩元素進行比較,如有需要則進行進行交換,每完成一次循環就將最大元素排在最後(從小到大),下一次村換是將它的數進行類似操作
結束條件:在任何一趟進行過程中,沒有出現交換
時間效率:O(n2)
空間效率:O(1)
算法穩定性:穩定

//冒泡排序(從小到大排序)
public class Sort_b{
    //冒泡排序函數
    private void bubleSort(int nums[]){
        int length = nums.length;

        for(int i =0;i<length-1;i++){
            boolean flag = false;//標記每一次迭代是否有元素交換
            for(int j =0;j<length-i-1;j++){
                if(nums[j]>nums[j+1]){
                    int temp = nums[j];
                    nums[j] =nums[j+1];
                    nums[j+1]=temp;
                    flag = true;        
                }
            }
            //判斷是否跳出循環
            if(!flag){
                break;
            }
        }
        System.out.println(java.util.Arrays.toString(nums));
    }
    //測試函數
    public static void main(String[] args) {
        int nums[]={89,5,78,8,3,7,56,25,96,16};
        Sort_b test = new Sort_b();
        test.bubleSort(nums);
    }
}
發佈了42 篇原創文章 · 獲贊 2 · 訪問量 8886
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章