Correction Pile 1 .pdf


Nom original: Correction Pile 1.pdfTitre: Correction Pile 1Auteur: 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 à 12:44, depuis l'adresse IP 197.25.x.x. La présente page de téléchargement du fichier a été vue 293 fois.
Taille du document: 50 Ko (3 pages).
Confidentialité: fichier public

Aperçu du document


Correction Pile
Ajout d'un nouvel élément
1. On crée un nouvel élément de type Pile
Pile *p_nouveau = malloc(sizeof *p_nouveau);

Grâce à malloc, on alloue de la place pour notre nouveau maillon de la pile. Remarquez alors que je
n'ai pas mis sizeof Pile dans le malloc mais sizeof *p_nouveau, ce qui revient exactement au même.
Cependant, la deuxième forme présente un avantage. En effet, si, par exemple, on modifie le nom de
notre structure, il ne sera pas la peine de le modifier dans notre malloc.
2. On vérifie que l'élément a bien été créé
if (p_nouveau != NULL)
{
}

Cette étape consiste tout simplement à vérifier si notre nouvel élément créé est bel et bien utilisable.
Il suffit alors de vérifier si l'allocation s'est bien passée, c'est-à-dire si malloc n'a pas retourné NULL.
3. On assigne à la donnée de cet élément la donnée que l'on veut ajouter
p_nouveau->donnee = donnee;

Ici, on assigne tout simplement à p_nouveau->donnee (rappelez-vous la structure) la donnée que l'on
passe en paramètre, de manière à ce que l'on puisse la stocker dans la pile.
4. On fait pointer cet élément sur le sommet de la pile
p_nouveau->precedent = *p_pile;

Par cette étape, on commence à attacher notre nouvel élément créé à la pile.
5. On fait pointer le sommet de la pile sur cet élément
*p_pile = p_nouveau;

Enfin, on finalise notre attachement en faisant pointer la pile vers notre élément, ce qui nous permet
d'avoir un pointeur vers le sommet de la pile.
En rassemblant toutes les étapes, voici notre fameuse fonction :
void pile_push(Pile **p_pile, int donnee)
{
Pile *p_nouveau = malloc(sizeof *p_nouveau);
if (p_nouveau != NULL)
{
p_nouveau->donnee = donnee;
p_nouveau->precedent = *p_pile;
*p_pile = p_nouveau;
}
}

Si vous avez du mal à visualiser comment se déroule l'ajout, voici un schéma :

Dans ce schéma, on suppose que l'on veut ajouter la valeur 14 à la pile et que la création du nouvel
élément s'est bien passée. Ce schéma vous montre les différentes étapes jusqu'à l'étape 4. Ici, nous
pointons sur l'avant-dernier élément de la pile, d'où l'étape 5 pour « monter » le pointeur d'un cran
comme ceci :


Correction Pile 1.pdf - page 1/3


Correction Pile 1.pdf - page 2/3


Correction Pile 1.pdf - page 3/3


Télécharger le fichier (PDF)

Correction Pile 1.pdf (PDF, 50 Ko)

Télécharger
Formats alternatifs: ZIP



Documents similaires


correction pile 1
essentiel langage c
correction pile 2
tutonuts2 en francais
article 1
apprenez a programmer en c

Sur le même sujet..