Slt , j’ai une question sur les files contigus ; comment on fait la différence entre une file complètement vide et une file qui ne contient qu’un seul élément prcq dans les 2 cas f .tete=0 f.queue=0
Merci
Slt , j’ai une question sur les files contigus ; comment on fait la différence entre une file complètement vide et une file qui ne contient qu’un seul élément prcq dans les 2 cas f .tete=0 f.queue=0
Merci
file vide
f.tete = NULL ;
f.queue = NULL ;
file à 1 elt :
f.tete = elt0 ;
f.queue = elt0 ;
ok, si j'ai un seul elmt dans la file cmt je peux savoir si elle est vide ou pas (dans le cas ou je n'ai qu' 1 seul elmt a f.tab[0])
Je ne comprends pas ta question. C'est quoi f.tab[0] ???
Comment définis-tu ta file ? En cas de doute, n'hésites pas à consulter cet article : http://nicolasj.developpez.com/articles/file/
Sinon, comme l'a dit souviron34, si la file est vide, f.tete est à NULL. Et si elle n'est pas vide, f.tete pointe sur le premier élément.
Pour ne pas te prendre la tête la dessus, rajoute un champ taille à ta file.
voila la file
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct file { int tete; int queue; int tab[taille_max];//taille_max est un define }file;
eh bien dans ce cas-là
file vide
tete = -1
queue = -1
file à 1 elt :
tete = 0
queue = 0
si tu raisonnes en termes d'indices. Si c'est en terme de nombre :
vide :
tete = 0
queue = 0
1 elt :
tete = 1
queue = 1
mais si tu fais une file, une vraie, alors vaudrait mieux faire une liste chaînée :
PSEUDO-CODE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 struct _tab_elt { .... struct _tab_elt previous ; struct _tab_elt next ; } tab_elt ; tab_elt *list = NULL liste vide : list = NULL 1 elt : liste = elt elt next = NULL elt previous = NULL
la file avec la liste chainée je metrise mais c'est la contigu qui me pose des problemes
c'est la même chose. Et pour savoir si c'est élément 0 ou si c'est vide, il suffit d'initialiser le nombre à -1 comme je disais au dessus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 typedef struct Ptr_file { int tete; int queue; int tab[taille_max];//taille_max est un define }file; file Mafile ; /* Initialise la file */ Mafile.tete = -1 ; Mafile.queue = -1 ; /* Crée le premier élément */ Mafile.tete = 0 ; Mafile.queue = 0 ; Mafile.tab[0] = xxxxxx ; /* Crée le second élément */ Mafile.tete = 0 ; Mafile.queue = 1 ; Mafile.tab[1] = yyyyyy ; ...................
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager