/*********************************************/ /** Implémentation des files par un tableau **/ /*********************************************/ #ifndef DEQUEUE_H_ #define DEQUEUE_H_ #include //////////////////////// // Définition du type // //////////////////////// typedef struct { int *array; // Tableau des valeurs. int size_array; // Taille du tableau des valeurs. int left; // Indice de la valeur à gauche de la file (si non-vide). int right; // Indice qui suit celui de la valeur à droite de la file // (si elle est non-vide). bool empty; // Booléen indiquant si la file est vide. } queue; ////////////////////////// // Fonctions primitives // ////////////////////////// // Crée une file vide. queue *create_queue(void); // Libère la mémoire allouée pour la file. void delete_queue(queue *); // Renvoie le nombre d'éléments dans la file. int getsize_queue(const queue *); // Renvoie vrai si la file est vide, faux sinon. bool isempty_queue(const queue *); // Ajoute une valeur dans la file, à gauche de la valeur la plus à gauche. void enqueue(int, queue *); // Renvoie la valeur la plus à droite de la file et la retire. int dequeue(queue *); #endif // DEQUEUE_H_