val compare : bool array array -> 'a list -> 'a list -> int
比較mは、リスト上の辞書順を生成する。私はこれは私がintのリストにすることによって行うようにしようとしていた機能がある???
は2つの同値類を比較する(続き)
let rec compare m c c' =
match c with
| [] -> (match c' with
| [] -> 0
| _ :: _ -> -1)
| hd1 :: tl1 -> (match c' with
| [] -> 1
| hd2 :: tl2 -> ???
記入する方法がわかりません。この機能は満足できませんでしたが、まだリストの残りの部分をチェックするためには欠けています。
let cmp_classes m c c' =
match c, c' with
| i :: _, j :: _ ->
begin
match m.(i).(j), m.(j).(i) with
(* same class: there is a path between i and j, and between j and i *)
| true, true -> 0
(* there is a path between i and j *)
| true, false -> 1
(* there is a path between j and i *)
| false, true -> -1
(* i and j are not compareable *)
| false, false -> 0
end
| _ -> assert false
私を助けてください。私はint型
let cmp_classes m i j =
match m.(i).(j), m.(j).(i) with
(* same class: there is a path between i and j, and between j and i *)
| true, true -> 0
(* there is a path between i and j *)
| true, false -> 1
(* there is a path between j and i *)
| false, true -> -1
(* i and j are not compareable *)
| false, false -> 0
でこの機能をしようとしたとき、それはまだデータI試験で正しい順序を返さないので。 私はこの機能を何度もやっていますが、何度も何度も試してみる必要がありますが、何が間違っているのか分かりません。私はあなたの助けが必要です。あなたの要素のトポロジー並べ替えをしようとしている場合、これは完全に間違っているあなた