очередь в си



Автор Евгения Рожко задал вопрос в разделе Другие языки и технологии

Как реализовать очередь на си? и получил лучший ответ

Ответ от ?????? Зелёный змий ??????[гуру]
Архитектор умудрился в семи строчках сделать пять ошибок С++, кроме того, шаблоны появились в С++, а в простом Си шаблонами не пахнет.
Очередь - это примерно как односвязанный список. Нужна стуктура, одно поле которой является указателем на эту же сруктуру (следущий элемент очереди) , остальные поля - по желанию/необходимости.
Два указателя на эту структуру, Один смотрит на первый элемент очереди (голова) , второй смотрит на последний (хвост) .
Новый элемент очереди (структура) добавляется в хвост. Это тривиально. Если очередь пустая, то голову и хвост установить на новый элемент. Если не пустая, то новую структуру приклеить к последнему элементу, а хвост установить на новый элемент.
Забирать элементы очереди с головы. Если очередь не пустая, то Голову установить на следущий элемент после первого, если очередь стала пустой, то и хвост обнулить.

Ответ от Булат 1[гуру]
template<typename> class queue
{
private:
T * buffer;
int buflen;
T *front_ptr, *back_ptr;
}
Дальше уж мозги включай

Ответ от Darth Vader[гуру]
Ну как-как. Делаете структуру, одно из полей которой является ссылкой на эту саму структуру, а потом пишете к ней операции Добавить, Извлечь и ПроверитьНаПустоту

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как реализовать очередь на си?
Очередь программирование на Википедии
Посмотрите статью на википедии про Очередь программирование
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*