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

// Ovdje radimo implementaciju apstraktnog tipa podataka QUEUE
// pomocu vezane liste.

void make_null(queue *q) {
    q->prvi=(celija *)malloc(sizeof(celija));
    q->prvi->next=NULL;
    q->zadnji=q->prvi;
}

int empty(queue q) {
    if (q.prvi==q.zadnji) return 1;
    else return 0;
}

void enqueue(pozicija p,queue *q) {
    q->zadnji->next=(celija *)malloc(sizeof(celija));
    q->zadnji=q->zadnji->next;
    q->zadnji->p=p;
    q->zadnji->next=NULL;
}

void dequeue(queue *q) {
    celija *tmp;
    tmp=q->prvi;
    q->prvi=q->prvi->next;
    free(tmp);
}

pozicija front(queue q) {
    return q.prvi->next->p;
}
