1. ホーム
  2. list

[解決済み] OCaml標準ライブラリ関数によるリストの並べ替え

2022-02-19 03:51:51

質問

OCamlの勉強をしていて、データの順序付けに関する様々な演習をしています。 標準のLibrary Listを使った順序付けの方法を理解したいです。

例えば、次の関数を使ってこの配列を並べ替えたいと思います[94; 50; 6; 7; 8; 8] 。

List.sort 
List.stable_sort 
List.fast_sort 
List.unique_sort

どのような構文で行うのですか?

どのように解決するのですか?

これらの関数をリストで使用する場合、比較関数を指定する必要があります。

ドキュメントから引用します。

<ブロッククオート

比較関数は、引数の比較結果が が等しい場合は正の整数、1が大きい場合は負の整数となります。 が小さい場合は整数

モジュール内 Pervasives は、多相比較関数を持っています。

val compare : 'a -> 'a -> int

だから、あなたの場合は、そうすればいいんです。

List.sort compare [94; 50; 6; 7; 8; 8]