From 5a5093cd5eac50db7f2886e539cdb08b007f8168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onie=20Gallois?= Date: Sun, 15 Nov 2020 12:34:53 +0100 Subject: [PATCH] blf et get_path --- src/BLF.ml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/BLF.ml b/src/BLF.ml index d4391c9..09cb203 100644 --- a/src/BLF.ml +++ b/src/BLF.ml @@ -15,25 +15,27 @@ let blf gr id_src id_dest= let acu =Array.make nb_n cost in (*je fais un fold_left pour pouvoir individualiser au niveau de la mémoire les cases de la table*) let blf_tab=n_fold gr (fun acu id->acu.(id)<-{cout=max_int; father=(-1)}; acu ) acu in - + blf_tab.(id_src).cout<-0; let file_id=[id_src] in + let file_marque =[] in - let rec blf_rec gr file_id = match file_id with + let rec blf_rec gr file_id file_marque= match file_id with |[]-> blf_tab |a::b-> let l_out_arc=out_arcs gr a in - let rec loop_suc file_id l_out_arc blf_tab=match l_out_arc with - |[]-> blf_rec gr b + let rec loop_suc l_out_arc blf_tab file = + match l_out_arc with + |[]-> blf_rec gr file (a::file_marque) |(id,label)::d-> if label != 0 && (blf_tab.(a).cout+label)