Académique Documents
Professionnel Documents
Culture Documents
Filière: MPI
1 05/04/2021
Plan du cours
2 05/04/2021
Plan du cours
3 05/04/2021
1.1- Définition d’une pile
•Une pile est une structure de données de type LIFO (last in first out) : le
dernier entré est le premier sorti.
4 05/04/2021
Pile vide
40 Tête
25 Queue
Empiler 60 Dépiler
60
40 40 40
25 25 25
6 05/04/2021
1.3-Définition en C
Définition en C de la structure Nœud
7 05/04/2021
Les opérations sur une pile
8 05/04/2021
- programmes en C des opérations d’une pile
pile creer(void)
{
return NULL ;
}
9 05/04/2021
pile empiler(pile pil, int valeur)
{ pile pile_i;
if ((pile_i = (pile)malloc(sizeof(Noeud))) == NULL)
{ printf ("erreur allocation");
exit(1);
}
pile_ivaleur = valeur;
pile_isuivant = pil;
return(pile_i);
}
10 05/04/2021
pile depiler(pile pil)
{pile pil_enleve;
if (pil==NULL)
{ printf (‘’erreur la pile est vide’’);
exit (1);
}
pil_enleve = pil;
pil = pilsuivant;
free(pil_enleve);
return pil;
}
11 05/04/2021
int tete(pile pil)
{
int value;
if (pil== NULL)
{printf (‘’erreur la pile est vide’’);
exit (1);
}
value= pilvaleur;
return value;
}
12 05/04/2021
Plan du cours
13 05/04/2021
2.1- Définition
Une file est une structure de données de type FIFO (first in first out) : le
premier entré est le premier sorti.
14 05/04/2021
File vide
40 Tête
25 Queue
Enfiler 60 Défiler
40
40 25 25
25 60 60
16 05/04/2021
1.3-Définition en C
Définition en C de la structure Nœud
17 05/04/2021
Les opérations sur une file
18 05/04/2021
- programmes en C des opérations d’une file
file creer(void)
{
return NULL ;
}
19 05/04/2021
file enfiler(file fil int, valeur)
{
file file_i, file_move;
if((file_i = (file )malloc(sizeof(Noeud))) == NULL)
{ printf(" erreur allocation "); exit(1); }
file_i valeur = valeur;
file_i suivant= NULL;
if(fil == NULL)
{
return(file_i);
}
else {
file_move= fil;
while (file_move suivant!=NULL)
file_move=file_move suivant;
file_move suivant = file_i;
return(fil);
}
}
20 05/04/2021
file defiler(file fil)
{file fil_enleve;
if (fil==NULL)
{ printf (‘’erreur la file est vide’’);
exit (1);
}
fil_enleve = fil;
fil = filsuivant;
free(fil_enleve);
return fil;
}
21 05/04/2021
int tete(file fil)
{
int value;
if (fil== NULL)
{printf (‘’erreur la pile est vide’’);
exit (1);
}
value= filvaleur;
return value;
}
22 05/04/2021