Correction Pile 1 .pdf


Nom original: Correction Pile 1.pdf
Titre: Correction Pile 1
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 à 12:44, depuis l'adresse IP 197.25.x.x. La présente page de téléchargement du fichier a été vue 328 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 :


Aperçu du document Correction Pile 1.pdf - page 1/3

Aperçu du document Correction Pile 1.pdf - page 2/3

Aperçu du document Correction Pile 1.pdf - page 3/3




Télécharger le fichier (PDF)




Sur le même sujet..





Ce fichier a été mis en ligne par un utilisateur du site. Identifiant unique du document: 00503516.
⚠️  Signaler un contenu illicite
Pour plus d'informations sur notre politique de lutte contre la diffusion illicite de contenus protégés par droit d'auteur, consultez notre page dédiée.