• Aucun résultat trouvé

Les files

N/A
N/A
Protected

Academic year: 2022

Partager "Les files"

Copied!
6
0
0

Texte intégral

(1)

Les files

1. Définition

2.Primitives de manipulation.

3. Représentation d'une file par un tableau.

4. Représentation d'une file par une liste.

**************************************

1. Définition :

Une file est une structure de données pour laquelle l’insertion d’un élément se fait en fin de liste, et la suppression se fait en début de liste (first in-first out, FIFO). Par exemple, une file d’attente.

Seule l'information de la tête(de début) est accessible et traitable.

2- Primitives de manipulation :

(2)

1.Enfiler revient à ajouter un élément en fin de liste.

2.Défiler: revient à effectuer une suppression en tête.

3.head revient à renvoyer l’information stockée dans l’élément de tête.

4.EstVide revient à tester si la liste est vide.

3 .Représentation d'une file par un tableau :

Comme dans le cas des piles, il est possible d’implémenter une file par un vecteur.

D-F

Etat initial ( 1)

D F

1 2 3

3 Enfiler (2)

D F

3 s

2 défiler (3)

D F

3 4s 5

2 Enfiler (4)

D 3 4 5

F D File circulaire (5)

On devra repérer dans le vecteur , deux positions deb et f in.

- Lorsque Fin atteindra la dernière case du vecteur, il ne sera plus possible de faire de nouveaux Enqueue. ( schéma 4 )

- Ainsi, chaque Dequeue diminue la taille potentielle de la file. ( schéma 3 )

- On peut palier ce problème en considérant que le vecteur est circulaire, ( schéma 5 )

(3)

Cela signifie qu’on considère qu’il existe une case « à droite » de la case d’indice n, qui est la case d’indice 1.

-Ainsi, quand on incrémente fin ou deb, et que la valeur d’un des deux dépasse n, il convient de la remettre à 1. Ceci peut aisément s’obtenir à l’aide de l’opérateur modulo.

- l’opération d’incrémentation « circulaire » d’un indice i est i := (i mod n)+1.

-Dans le cas où les cases sont numérotées de 0 à n−1, l’opération devient i := (i+1)mod n.

-Par contre, il n’est pas possible de stocker n valeurs dans le vecteur.( pourquoi ?) On a

Const Tmax= 100 ; Type indice= 1..Tmax ; File= record

D , Fin: indice;

Cont: array[1..Tmax] of integer;

End;

Var F: File

3.1/ initialisation

Procedure initialiser ( var f : file);

Begin F.d:=1;

F.Fin:=1;

End;

3.2/ vérification

(4)

Functionfilevide( f:file): Boolean;

Begin

Filevide=(f.d=F.fin);

End;

Function file pleine( f:file):Boolean;

Begin

Filepleine=(F.D=(F.Fin mod n) +1) End;

3.3/Enfiler

Procédureenfiler( var f: file ; x:integer);

Begin

If not( filepleine )then begin

F.cont[f.fin]:= x;

f.fin:=(f.fin mod n) +1;

end; end; 3.4/Défiler

Procedure defiler( var f: file);

Begin

If not ( filevide(f) ) then F.D:=( F.d mod n) +1

Else write (‘ la file est vide’) ;

(5)

End;

4. Représentation d’une file par une liste:

1)Type cellule= ^ noeud Nœud= record

V : integer ; Suivant :cellule ; End ;

File= record

H, Q :cellule ; end ; Var f :file ;

1/Procedure initialiser( Var f: file);

Begin F.h:=nil;

End;

2/ function filevide(f:file):Boolean;

begin

filevide:= ( f.h=nil);

End;

(6)

4/Procedure defiler ( var f :file) ; Var

P: cellule;

Begin

If not (filevide( f) ) then begin

P:= f.h;

f.h:=f.h^.suivant;

dispose( p) ; end

else write (‘ la pile est vide’);

End;

Références

Documents relatifs

$YTbolics ' Research Center in ~~IDridge will continue development end support of ne';', sjITtolic softvlare... Enhancements to the license.d softHare created by

[r]

Domaine : Droit international Documents : décisions de justice Dates de couverture : À partir de 1812 Oxford Legal Research Library Type : base de données bibliographique Editeur

Useful to make sure files are identical, DIR Sorted current or declared directory files with sizes and disk space used and remaining are displayed on console with this command..

A,B,C,D et E décident de disputer un tournoi circulaire qui met successivement face à face deux personnes jouant à une partie de pile ou face (Ppf) où chacun d’eux a une

heureusement qu'elle m'a fait vivre sinon je n'aurais jamais. de copains et

Fonctionnement d'une pile La structure de pile permet de retrouver les éléments dans l'ordre inverse de 1 Une structure de file permet de retrouver les éléments dans l'ordre où

b) Sur un tas binaire, écrivez l'algorithme d'un traitement récursif propMax(i) permettant d'assurer qu'à partir de l'indice i chaque élément du tableau est