Fichier PDF

Partage, hébergement, conversion et archivage facile de documents au format PDF

Partager un fichier Mes fichiers Convertir un fichier Boite à outils PDF Recherche PDF Aide Contact



Correction Pile 2 .pdf


Nom original: Correction Pile 2.pdf
Titre: Correction Pile 2
Auteur: zouari

Ce document au format PDF 1.4 a été généré par PDFCreator 2.4.1.13, et a été envoyé sur fichier-pdf.fr le 13/04/2017 à 13:45, depuis l'adresse IP 160.156.x.x. La présente page de téléchargement du fichier a été vue 219 fois.
Taille du document: 44 Ko (2 pages).
Confidentialité: fichier public




Télécharger le fichier (PDF)









Aperçu du document


Correction Pile : Retrait d’un élément
1. Vérifier si la pile n'est pas vide
if (*p_pile != NULL)
{
}

Ici, il suffit juste de vérifier si la pile n'est pas un pointeur NULL. Si ce n'est pas le cas, la pile n'est pas
vide.
2. Si elle ne l'est pas, stocker dans un élément temporaire l'avant-dernier élément de la pile
Pile *temporaire = (*p_pile)->precedent;

Rappelez-vous, nous pointons toujours vers le dernier élément de la pile, donc l'élément précédent
est l'avant-dernier élément de la pile.
3. Stocker dans une variable locale la valeur étant stockée dans le dernier élément de la pile
ret = (*p_pile)->donnee;

Nous voulons retourner la valeur de l'élément que nous allons supprimer, il est donc nécessaire de la
récupérer avant de supprimer cet élément.
N.B. : la variable ret sera déclarée en haut de la fonction et initialisée à -1.
4. Supprimer le dernier élément
free(*p_pile), *p_pile = NULL;

La pile pointe sur le dernier élément, il suffit donc d'utiliser free pour supprimer le dernier élément.
De plus, après chaque free, il ne faut pas oublier de remettre le pointeur à NULL.
5. Faire pointer la pile vers notre élément temporaire
*p_pile = temporaire;

Afin de « mettre à jour » notre pile, on la fait pointer sur notre élément temporaire qui est l'avantdernier élément de la pile.

6. Retourner la valeur dépilée
return ret;

Il suffit tout simplement d'utiliser l'instruction return pour retourner la valeur de l'élément que l'on
vient de supprimer.
Voici donc notre fonction complète :
int pile_pop(Pile **p_pile)
{
int ret = -1;
if (p_pile != NULL)
{
Pile *temporaire = (*p_pile)->precedent;
ret = (*p_pile)->donnee;
free(*p_pile), *p_pile = NULL;
*p_pile = temporaire;
}
return ret;
}


Correction Pile 2.pdf - page 1/2
Correction Pile 2.pdf - page 2/2

Documents similaires


Fichier PDF correction pile 2
Fichier PDF correction pile 1
Fichier PDF correction pile 3 1
Fichier PDF programmationavanceeserie1
Fichier PDF devoirdemaisoncd6c1
Fichier PDF series temporelles notions de base


Sur le même sujet..