快轉到主要內容

排序 (Sort)

歡迎來到排序章節!排序是程式設計中最常見的需求之一,也是許多進階演算法(如二分搜尋、貪心法則)的前置步驟。本章節將帶你從最基礎的實作原理開始,進階到如何運用 C++ 強大的內建工具來解決各種複雜的排序問題。

1. 氣泡排序
#

了解排序的基本原理。雖然效率不高,但透過實作氣泡排序,能讓你清楚掌握資料交換與比較的邏輯,並認識逆序數對的概念。

2. Sort 函式
#

別再手寫排序了!介紹 C++ <algorithm> 函式庫中最強大的 sort 函式,讓你用一行程式碼就能完成 \(O(N \log N)\) 的高效排序。

3. 自定義比較
#

想要由大到小排序?或是針對特殊的結構(如成績、座標)進行排序?學習如何撰寫比較函式 (Comparator) 來告訴電腦你的排序規則。

4. 在排序之後
#

排序完還能做什麼?介紹 unique 去除重複元素以及 merge 合併有序序列等進階技巧,讓資料處理更靈活。

5. 題解:成績指標
#

練習基本的排序應用,讀入學生成績後進行排序,並找出及格與不及格的分數邊界。

6. 題解:遊戲選角
#

透過這道題目練習使用 pair 搭配自定義比較函式,解決多重條件(攻擊力與防禦力)的複雜排序問題。

7. 題解:偶先排序
#

特殊規則排序的實戰練習,學習如何撰寫邏輯,讓偶數排在奇數前面,並同時維持數字大小的順序。