使用標準函式庫排序列表與陣列

任務

資料結構與演算法 / 排序 / 排序列表與陣列

未使用任何套件

這個食譜僅使用 OCaml 標準函式庫

程式碼

排序一個 int 數值列表,返回一個排序過的副本,並使用 compare 函式。

注意: compare 函式是多型的,適用於所有類型。

let l = [ 1; 90; 42; 27 ]
let l' = List.sort compare a

排序一個陣列,同時就地修改它。

let a = [| 1; 90; 42; 27 |]
let () = Array.sort compare a

定義一個自訂的 compare 函式(這裡是不區分大小寫的字串比較),並用它來排序一個陣列。

注意: 應用於 ab 的比較函式需要返回 1 如果 a 大於 b0 如果它們相等,以及 -1 如果 a 小於 b

let compare_insensitive a b = 
    compare (String.lowercase_ascii a) (String.lowercase_ascii b)
let a = [| "ABC"; "BCD"; "abc"; "bcd" |]
let () = Array.sort compare_insensitive a

食譜無法運作?註解不清楚或過時?

開啟一個議題貢獻這個食譜