How to display the correct values in the queue because it displays from the last to the first.
#include <iostream>
#include <cstdlib>
using namespace std;
struct Item
{
int dado;
Item *prox;
};
struct Fila
{
Item *head;
Item *tail;
int tamanho;
};
Fila *fila = (Fila*)malloc(sizeof(Fila));
Fila *criaFila()
{
fila->head = NULL;
fila->tail = NULL;
fila->tamanho =0;
return fila;
}
void Enqueve (Fila *fila, int valor)
{
Item *aux = (Item*)malloc(sizeof(Item));
if(fila->head == NULL && fila->tail == NULL)
{
aux->dado = valor;
aux->prox = fila->head;
aux->prox = fila->tail;
fila->head = aux;
fila->tail = aux;
fila->tamanho++;
}
else
{
aux->dado = valor;
aux->prox = fila->tail;
fila->tail = aux;
fila->tamanho++;
}
}
void exibeFila(Fila *fila)
{
Item *aux;
aux = fila->tail;
while(aux != NULL)
{
cout << aux->dado << endl;
aux = aux->prox;
}
}
int main()
{
Fila teste = *criaFila();
Enqueve(&teste,10);
Enqueve(&teste,17);
Enqueve(&teste,8);
exibeFila(&teste);
return 0;
}