2025-02-09

冒泡排序 Bubble Sort
最簡單的排序方法是冒泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若幹遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻註意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之後,“最輕”的元素就浮到瞭最高位置;處理二遍之後,“次輕”的元素就浮到瞭次高位置。在作第二遍處理時,由於最高位置上的元素已是“最輕”元素,所以不必檢查。一般地,第i遍處理時,不必檢查第i高位置以上的元素,因為經過前面i-1遍的處理,它們已正確地排好序。這個算法可實現如下。
算法如下:
/**
     *冒泡排序
     *@paramsrc待排序數組
     */
    void doBubbleSort(int[] src)
    {
       int len=src.length;
       for(int i=0;i<len;i )
       {
           for(int j=i 1;j<len;j )
           {
              int temp;
              if(src[i]>src[j])
              {
                  temp=src[j];
                  src[j]=src[i];
                  src[i]=temp;
              }            
           }
           printResult(i,src);
       }     
    }

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *