[File] Implémentation d’une file d’attentes par flot

On va voir l’implémentation d’une file par flot

  • InitFile: Initialiser une file vide (libre)
  • Enfiler: Insérer un élément à la queue d’une file
  • Défiler: Supprimer l’élément de la tete une file
  • FilePlien: Retourner Vrai si la file est plienne, sinon Faux

Algorithmique FileFlot;

type
	file: tab[1... n];

Var
	tete, queue: entier

Procédure InitFile(var F: file);

	tete := queue - 1;

Fin;

Procédure Enfiler(var F: file, x: entier);

	Si(FilePlien(F) Alors
		Ecrire("Enfilement est impossible !")
	Sinon
		F[queue] := x;
		queue := (queue + 1) mod n;
	FinSi

Fin;

Procédure Défiler(var F: file, var x: entier);

	Si(FileVide(F)) Alors
		Ecrire("Défilement est impossible !")
	Sinon
		x := F[tete];
		tete := (tete + 1) mod n;
	FinSi

Fin;

Fonction FilePlein(F: file): bool;

	FilePlein := ((queue + 1) mod n) = tete;

Fin;

Laisser des commentaires:

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :