資料結構—-排序

來源:互聯網
上載者:User

排序演算法可分為兩大類:

  • 1. 隨機存取目標排序法,如對數組或者隨機存取磁碟檔案的排序。
  • 2. 順序目標排序法,如對磁碟,磁帶或串連表的排序。
  • 只是聽說過,磁碟,磁帶沒有見過,估計是師傅那一帶人玩的玩意。
  • 對數組排序有三種通用的方法:
  • a.交換排序
  • b.選擇排序
  • c.插入排序
  • 拿撲克形象地理解這三種方法:
  • 用交換方法對撲克牌排序時,把撲克牌攤在案頭上,花色面朝上,然後交換順序已亂的牌,直到有序為止。
  • 用選擇排序時,把牌攤在案頭上,把數值最小的牌抽出來,放在手中。然後在剩餘牌中,再找最小的,將其放到手中的牌的後面。如此繼續在案頭上無牌時為止,手中的牌就拍好了。
  • 插入排序,把牌都放在手裡。每次從手中取一張放在案頭上,每次放到桌上時,都插入適當的位置。如此繼續,手中無牌時,桌上的一副牌就變成有序了。
  • 第一節 冒泡排序

冒泡排序是一種交換排序。世上稱之為,知名度最高的排序,學校裡經常考試,面試的時候也會出現,因為它簡單,其實它很出名主要是它是當前最差的排序之一,它應該還有兄弟。下面來看它的描述:

private function bubbleSort():void
{
    var arr:Array = [2,3,5,1,8,4];
    var len:int = arr.length;
    var temp:int = 0;
    var flag:Boolean = true;
    for(var i:int = 0; i < len; i++)
    {
        for(var j:int = len; j > i; j--)
        {
          if(arr[j -1 ] > arr[j])
          {
                  temp = arr[j -1];
                  arr[j -1] = arr[j];
                  arr[j] = temp;
                  flag = false;
          }   
        }
        if(flag)
        {
            break;
        }
    }
}

外部迴圈 n-1次,內部迴圈n/2次,一共運行了1/2(n*n - n)次比較,其中n是排序元素數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.