2026-rff_mp/stepushovgs/data-structures/sorce/bin_search_tree/queue.c
GordStep 0e7a03e784 Обновление
- Изменение структуры лабораторной работы
- Завершение библитеки для Бинарного дерева поиска
2026-05-07 14:28:06 +03:00

43 lines
598 B
C

#include <stdlib.h>
#include "queue.h"
int queueEmpty(Queue* q)
{
return (q->head == q->tail);
}
int size(Queue* q)
{
if (q->head > q->tail)
return QUEUE_MAX_LENGTH - q->head + q->tail;
else
return q->tail - q->head;
}
void queuePush(Queue* q, void* ptr)
{
if (size(q) != QUEUE_MAX_LENGTH)
{
q->p[q->tail] = ptr;
q->tail = (q->tail + 1) % QUEUE_MAX_LENGTH;
}
};
void queueInit(Queue* q)
{
q->head = 0;
q->tail = 0;
}
void* queuePop(Queue* q)
{
if (queueEmpty(q))
return NULL;
void* x = q->p[q->head];
q->head = (q->head + 1) % QUEUE_MAX_LENGTH;
return x;
};