陣列排序的方法
阿新 • • 發佈:2020-11-17
1.氣泡排序法
將陣列中的相鄰兩個元素進行比較,將比較大(較小)的數通過兩兩比較移動到陣列末尾(開始),執行一遍內層迴圈,確定一個最大(最小)的數,外層迴圈從陣列末尾(開始)遍歷到開始(末尾)
2. 插入排序法(插隊排序)
將要排序的陣列分成兩部分,每次從後面的部分取出索引最小的元素插入到前一部分的適當位置
- 從第一個元素開始,該元素可以認為已經被排序;
- 取出下一個元素,在已經排序的元素序列中從後向前掃描;
- 如果該元素(已排序)大於新元素,將該元素移到下一位置;
- 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置;
- 將新元素插入到該位置後;
- 重複步驟2~5。
3.快速排序
在看完上面的東西之後,不知道大家有沒有發現在實際的工作中如果資料量過大,陣列比較複雜,通過兩次遍歷,同時會帶來效能上的問題,不用慌,我們還可以用快速排序的方法進行解決,快速排序對氣泡排序的一種改進
實現思路是,將一個數組的排序問題看成是兩個小陣列的排序問題,以一個數為基準(中間的數),比基準小的放到左邊,比基準大的放到右邊,而每個小的陣列又可以繼續看成更小的兩個陣列,一直遞迴下去,直到陣列長度大小最大為2。