Académique Documents
Professionnel Documents
Culture Documents
Copyright
Copyright ©© 2017
2014, Siaka
2008 Fofana,
Pearson Laboratoire
Education, des Signaux
Inc. Publishing et Systèmes.
as Pearson Université FHB Côte d’Ivoire
Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
– retour des adresses lors des appels de fonction • Les types de pile:
– Statique – taille fixe, souvent implémentée à l’aide d’un tableau
1
Programmation C++ 31/10/2017
– isFull: vraie si la pile est pleine, utilisable seulement pour les piles
le sommet est l’emplacement où l’élément suivant sera
statiques
ajouté
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
K K K
push('E'); push('K'); push('G'); pop(); pop(); pop();
E E E (retire G) E (retire K) E (retire E)
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
2
Programmation C++ 31/10/2017
Pour verifier si la pile est vide: Pour verifier si la pile est pleine:
3
Programmation C++ 31/10/2017
mémoire disponible
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
4
Programmation C++ 31/10/2017
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
5
Programmation C++ 31/10/2017
• Le template stack peut être vu comme une implémentation • Le template stack peut être vu comme une implémentation
sous forme d’un vector, d’une list ou d’une deque sous forme d’un vector, d’une list ou d’une deque
• Il implémente les fonctions membres push, pop et empty • Il implémente les fonctions membres push, pop et empty
– top: référence sur l’élément au sommet de la pile (doit être utilisée – top: référence sur l’élément au sommet de la pile (doit être utilisée
avec pop pour retirer et récupérer l’élément au sommet) avec pop pour retirer et récupérer l’élément au sommet)
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
• Les espaces sont nécessaires entre les symboles > > – dynamique: taille variable, implémentée sous forme de liste
consécutifs pour faire la distinction avec l’extraction de stream
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
6
Programmation C++ 31/10/2017
• rear (arrière): emplacement où les éléments sont ajoutés Une file vide qui peut contenir des valeurs char:
E K G G
avant arrière
avant arrière
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
7
Programmation C++ 31/10/2017
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
8
Programmation C++ 31/10/2017
if(!isFull) if(!isEmpty)
{ arriere = (arriere + 1) % QSIZE; { avant = (avant + 1) % QSIZE;
// opérateur mod pour revenir // opérateur mod pour revenir
q[arriere] = x; x = q[avant];
nombre ++; nombre --;
} }
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
• Lorsque enqueue arrive à la fin elle retourne vers le • Dequeue revient au début en exécutant
debut pour utiliser les emplacements qui ont été vdés avant = (avant + 1) % QSIZE;
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
9
Programmation C++ 31/10/2017
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
10
Programmation C++ 31/10/2017
if (isEmpty()) if (isEmpty())
{ {
avant= new noeudF(x); error(); exit(1);
arriere= avant; }
} x = avant->valeur;
else noeudF *ancAvant = avant;
{ avant = avant->suivant;
arriere->suivant = new noeudF (x); delete ancAvant;
arriere = arriere->suivant;
}
Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley Copyright
Copyright©©2014,
2017 2008 Fofana, Education,
SiakaPearson LaboratoireInc.
desPublishing
Signaux etasSystèmes. Université FHB Côte d’Ivoire
Pearson Addison-Wesley
• queue: TAD de container qui peut être utilisé pour fournir • Définition d’une queue avec le container de base par défaut
une file basée sur vector, list, ou deque. A les queue<char> cQueue;
fonctions membres pour enfiler (push) et pour défiler
(pop)
• Définition d’une file basée sur une list:
queue<char, list<char> > cQueue;
11
Programmation C++ 31/10/2017
12