使用標準函式庫排序列表與陣列
任務
資料結構與演算法 / 排序 / 排序列表與陣列
未使用任何套件
這個食譜僅使用 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
函式(這裡是不區分大小寫的字串比較),並用它來排序一個陣列。
注意: 應用於 a
和 b
的比較函式需要返回 1
如果 a
大於 b
,0
如果它們相等,以及 -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