Дек на основе однонаправленного цикличного списка
Столкнулась с проблемой (а точнее заданием с университета): создать дек на основе однонаправленного цикличного списка. И, собственно, я не смогла найти никакой информации по поводу данного условия; максимум, что я находила, это деки на основе массивов (через вручную расписанные функции или #include <deque>, что мне использовать не стоило бы, как и классы).
Хотелось бы узнать, как все-таки реализовать данный дек. ? Заранее спасибо за помощь!
Полное условие выглядит так:
- Элемент структуры: вещественное число.
- Дек на основе циклического однонаправленного списка.
- Используя только основные операции для дека после каждого парного, вставить элемент со значением 0.
Примерное объявление списка и его инициализация:
struct list
{
double field;
struct list* ptr;
};
struct list* init(double a)
{
struct list* lst;
lst = (struct list*)malloc(sizeof(struct list));
lst->field = a;
lst->ptr = lst;
return(lst);
}