This commit is contained in:
Arkitu 2026-01-15 22:10:50 +01:00
parent f39773d967
commit 93992f7bb5
3 changed files with 34 additions and 6 deletions

View File

@ -6,12 +6,11 @@
(name exo5)
(modules exo5)
)
(library
(name exo9)
(modules exo9)
)
(library
(name exo10)
(modules exo10)
)
(executable
(name test)
(modules test)
(libraries exo2 exo5 exo10)
)

30
tp7/exo9.ml Normal file
View File

@ -0,0 +1,30 @@
type 'a fileb = {
mutable taille : int;
mutable tete : int;
mutable queue : int;
donnees : 'a array
};;
let creer_fileb capacity x = {
taille=0;
tete=0;
queue=0;
donnees=Array.make capacity x
};;
(* User must make sure that the size isn't bigger than capacity *)
let enfiler_fileb f x =
f.donnees.(f.queue) <- x;
f.queue <- (f.queue + 1) mod Array.length f.donnees;
f.taille <- f.taille + 1
;;
(* User must make sure that the queue isn't empty *)
let defiler_fileb f =
let x = f.donnees.(f.tete) in
f.tete <- (f.tete + 1) mod Array.length f.donnees;
f.taille <- f.taille - 1;
x
;;
let est_vide_fileb f = f.taille <= 0;;

View File

@ -1 +0,0 @@