Programmation Proc Edurale - C: La Structure de Donn Ees FILE
Programmation Proc Edurale - C: La Structure de Donn Ees FILE
Programmation Proc Edurale - C: La Structure de Donn Ees FILE
Programmation Procédurale - C
La structure de données FILE
ESPRIT MONASTIR
1/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
Objectif du chapitre
2/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
Plan du chapitre
1 Définitions
3/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
Plan du chapitre
1 Définitions
4/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
5/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
6/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
Plan du chapitre
1 Définitions
7/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
Opération Description
créer() créé une file vide.
est vide() vérifie si une file est vide ou non.
premier() retourne l’élément qui se trouve en tête de la file.
dernier() retourne l’élément qui se trouve en queue de la file.
enfiler() insère un élément donné en queue de la file.
defiler() supprime l’élément qui se trouve en tête de la file.
8/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
Plan du chapitre
1 Définitions
9/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
10/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
La représentation contiguë
1 #define N 100
2 struct file{
3 int cle[N];
4 int tete;
5 int queue;
6 };
7 static struct file f;
11/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 void creer_file(){
2 f.tete=-1;
3 f.queue=-1
4 }
12/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 unsigned file_vide(){
2 return (f.tete==-1 &&f.queue==-1 );
3 }
13/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 int premier(){
2 assert(file_vide()==0);
3 return f.cle[f.tete];
4 }
14/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 int dernier(){
2 assert(file_vide()==0);
3 return f.cle[f.queue];
4 }
15/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
16/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 void file_pleine(){
2 return((f.tete==0&&f.queue==N-1)||
3 f.tete==f.queue+1);
4 }
17/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 void defiler(){
2 assert(file_vide()==0);
3 if (f.tete==f.queue)
4 {f.tete=-1;
,→ f.queue=-1;}
5 else if(f.tete==N-1)
6 f.tete=0;
7 else f.tete++;
8 }
18/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
La représentation chaı̂née
1 struct element{
2 int cle;
3 struct element* suivant;
4 };
5 struct file{
6 struct element* tete;
7 struct element* queue;
8 }
9 static struct file* f;
19/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 void creer_file(){
2 f->tete = NULL;
3 f->queue = NULL;
4 }
20/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
1 unsigned file_vide(){
2 return ( f->tete == NULL && f->queue == NULL);
3 }
21/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
22/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
23/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
24/26
Dr. Thabet Prog. Proc.
Définitions
La représentation contiguë
Les opérations de base
La représentation chaı̂née
Les types de représentations
25/26
Dr. Thabet Prog. Proc.
Définitions
Les opérations de base
Les types de représentations
26/26
Dr. Thabet Prog. Proc.