Разработать модуль s_q.c для поддержки стеков и очередей вещественных значений.
Необходимые функции приведены ниже. Параметры функций и возвращаемый результат определяются
студентом самостоятельно на основе требований для стеков, очередей и деков:
1. Поддержка стеков на базе статических массивов
sm_push // размещает элемент на вершине стека
sm_pop // изымает элемент с вершины стека
sm_empty // возвращает 1, если стек пуст, иначе - 0
sm_full // возвращает 1, если стек полность заполнен, иначе - 0
2. Поддержка стеков на базе односвязных списков (см. предыдущие ЛР)
sl_push // размещает элемент на вершине стека
sl_pop // изымает элемент с вершины стека
sl_empty // возвращает 1, если стек пуст, иначе - 0
3. Поддержка очередей на базе статических массивов с кольцевой организацией
qm_put // размещет элемент в конце очереди
qm_get // изымает элемент из начала очереди
qm_empty // возвращает 1, если очередь пуста, иначе - 0
qm_full // возвращает 1, если очередь полностью заполнена, иначе - 0
4. Поддержка очередей на базе двусвязных кольцевых списков (см. предыдущие ЛР)
ql_put // размещет элемент в конце очереди
ql_get // изымает элемент из начала очереди
ql_empty // возвращает 1, если очередь пуста, иначе - 0