/* TP4 file.c
30/10/02 */
#include <malloc.h>
#include "file.h"
file queue=NULL;
/* Cree une file */
void creer_file(file f){
f=NULL;
}
/* Ajout d'un nouvel Element au sommet de la
pile: */
void enfiler(file f, Element x){
file p,save;
p=(file)malloc(sizeof(p));
p->valeur=x;
if (f==NULL){
queue=p;
queue->suivant=p;
}
else {
save=queue->suivant;
queue->suivant=p;
queue=p;
queue->suivant=save;
}
queue=p;
f=p;
}
/* Suppression du premier Element de la file */
void defiler(file f){
file save;
save=queue->suivant;
queue->suivant=queue->suivant->suivant;
free(save);
}
/* Consultation du premier Element de la file
*/
Element tete(file f){
return(f->valeur);
}
/* Teste si la file est vide ou pas ? */
BOOL file_vide(file f){
if (f==NULL)
return(1);
else
return(0);
}
/* Calcul la longueur de la file f */
int longueur(file f){
if (f==NULL)
return(0);
if (f!=queue)
return(longueur(f->suivant)+1);
else
return 1;
}
int main(void){ /* Facultatif,
pour verifier que ca fonctionne ;-)*/
creer_file(queue);
enfiler(queue,5);
enfiler(queue,6);
enfiler(queue,7);
printf("longueur = %d\n",longueur(queue->suivant));
printf("%d\n",tete(queue->suivant));
defiler(queue->suivant);
defiler(queue->suivant);
printf("%d\n",tete(queue->suivant));
printf("Fin...");
return(0);
}
|