#include <stdio.h>
#include "queue.h"

/* Affiche les éléments de la file du plus ancien au plus récent */
void displayQueue(queue q) {
    queue tempQueue = create_queue(); /* File temporaire pour stocker les éléments*/
    int value;

    /* Afficher les éléments de la file et les stocker temporairement*/
    while (!empty(q)) {
        value = dequeue(q);
        printf("%d ", value);
        enqueue(tempQueue, value);
    }

    /* Remettre les éléments dans la file d'origine*/
    while (!empty(tempQueue)) {
        enqueue(q, dequeue(tempQueue));
    }

    /* Libérer la file temporaire*/
    destroy_queue(tempQueue);

    printf("\n");
}

int main() {
    /* Créer une file et ajouter des éléments (exemple)*/
    queue myQueue = create_queue();
    enqueue(myQueue, 14);
    enqueue(myQueue, 9);
    enqueue(myQueue, 28);
    enqueue(myQueue, -3);

    /* Afficher les éléments de la file sans altérer la file*/
    printf("File avant affichage : ");
    displayQueue(myQueue);

    /* Ajouter quelques éléments supplémentaires (exemple)*/
    enqueue(myQueue, 5);
    enqueue(myQueue, 12);

    /* Afficher les éléments de la file après ajout*/
    printf("File après ajout : ");
    displayQueue(myQueue);

    /* Libérer la mémoire de la file*/
    destroy_queue(myQueue);

    return 0;
}