java排序算法——冒泡排序

 你想對數據進行排序,有許多算法可以實現排序

  在這裏,我給大家介紹排序算法之一的冒泡算法

                                              

實現思路:  

    比較相鄰的兩個元素,如果第一個比第二個小(大),則交換它們的位置。

    重複當前動作,直到排序完成

    如:        3 , 5 , 2 , 7 , 9 , 6 , 4

    第一次排序 3 , 2 , 5 , 7 , 6 , 4 , 9     (9沉到末排序尾部) 

    第二次排序 2 , 3 , 5 , 6 , 4 , 7 , 9         (7沉到末排序尾部)    

    第三次排序 2 , 3 , 5 , 4 , 6 , 7 , 9         (6沉到末排序尾部)

    第四次排序 2 , 3 , 4 , 5 , 6 , 7 , 9         (5沉到末排序尾部,排序完成)            

                                                                                                                                                  時間複雜度 O(n²)
                                                                                                                                                        (穩定)

public void selection_sort(int[] arr){

     for (int i = 0; i < arr.length-1; i++) {    
            /**
            * 每一次排序都會確定當前最大元素的位置
            * -i 是爲了節約資源 不需要再對已排序好的元素進行操作
            */
            for(int j=0;j < arr.length-1-i;j++){  

                if(arr[j]>arr[j+1]){

                    int temp = arr[j];

                    arr[j] = arr[j+1];

                    arr[j+1] = temp;

                }

            }

       }
  
}

 

        該鏈接是筆者對於二分查找法的理解,配合二分查找法,能夠更高效實現對於數據的操作

 

        以上是筆者對於冒泡排序算法的理解,如有不妥之處,還請各位大佬指出      

                 謝謝

           

                  {\__/}                                          {\__/}
                  ( ·-·)                                          (·-· )
                  / >------------------------------------------------< \
                           |      ☆                            |
                           |         ☆                         |
                           |  ★                                |
                           |         ☆                         |
                           |      ☆                            |
                           |                                   |
                           -------------------------------------

           如有興趣可以關注我的公衆號:

                                                                            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章