Files
prog-c/tp3/TP3/queue.h

46 lines
1.2 KiB
C
Raw Normal View History

2024-10-06 15:32:20 +02:00
/*********************************************/
/** Implémentation des files par un tableau **/
/*********************************************/
#ifndef DEQUEUE_H_
#define DEQUEUE_H_
#include <stdbool.h>
////////////////////////
// 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_