1. 程式人生 > 實用技巧 >陣列排序的方法

陣列排序的方法

1.氣泡排序法

將陣列中的相鄰兩個元素進行比較,將比較大(較小)的數通過兩兩比較移動到陣列末尾(開始),執行一遍內層迴圈,確定一個最大(最小)的數,外層迴圈從陣列末尾(開始)遍歷到開始(末尾)

2. 插入排序法(插隊排序)

將要排序的陣列分成兩部分,每次從後面的部分取出索引最小的元素插入到前一部分的適當位置

  • 從第一個元素開始,該元素可以認為已經被排序;
  • 取出下一個元素,在已經排序的元素序列中從後向前掃描;
  • 如果該元素(已排序)大於新元素,將該元素移到下一位置;
  • 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置;
  • 將新元素插入到該位置後;
  • 重複步驟2~5。

3.快速排序

在看完上面的東西之後,不知道大家有沒有發現在實際的工作中如果資料量過大,陣列比較複雜,通過兩次遍歷,同時會帶來效能上的問題,不用慌,我們還可以用快速排序的方法進行解決,快速排序對氣泡排序的一種改進

實現思路是,將一個數組的排序問題看成是兩個小陣列的排序問題,以一個數為基準(中間的數),比基準小的放到左邊,比基準大的放到右邊,而每個小的陣列又可以繼續看成更小的兩個陣列,一直遞迴下去,直到陣列長度大小最大為2。