| 12345678910111213141516171819202122232425262728293031 |
- type 'a poids = Poids of 'a | Infini;;
- let rec insere i x l =
- match l with
- | [] -> [i]
- | t::q -> if x > t then i :: l else t :: (insere i x q)
- ;;
- let liste_triee_arrete w =
- let l = ref [] and n = List.length w in
- for i = 0 to n - 2 do
- for j = i + 1 to (n - 1) do
- match (List.nth w i).(j) with
- | Poids(p) -> l := insere (i, j) p !l
- | Infini -> ()
- done;
- done;
- !l
- ;;
- let g = [
- [Infini; Poids(9); Infini; Poids(5); Infini; Infini; Infini];
- [Poids(7); Infini; Poids(8); Poids(9); Poids(7); Infini; Infini];
- [Infini; Poids(8); Infini; Infini; Poids(5); Infini; Infini];
- [Poids(5); Poids(9); Infini; Infini; Poids(15); Poids(6); Infini];
- [Infini; Poids(7); Poids(5); Poids(15); Infini; Poids(8); Poids(9)];
- [Infini; Infini; Infini; Poids(6); Poids(8); Infini; Poids(11)];
- [Infini; Infini; Infini; Infini; Poids(9); Poids(11); Infini];
- ];;
- let aretes = liste_triee_arrete g;;
|