Автор Евгения Рожко задал вопрос в разделе Другие языки и технологии
Как реализовать очередь на си? и получил лучший ответ
Ответ от ?????? Зелёный змий ??????[гуру]
Архитектор умудрился в семи строчках сделать пять ошибок С++, кроме того, шаблоны появились в С++, а в простом Си шаблонами не пахнет.
Очередь - это примерно как односвязанный список. Нужна стуктура, одно поле которой является указателем на эту же сруктуру (следущий элемент очереди) , остальные поля - по желанию/необходимости.
Два указателя на эту структуру, Один смотрит на первый элемент очереди (голова) , второй смотрит на последний (хвост) .
Новый элемент очереди (структура) добавляется в хвост. Это тривиально. Если очередь пустая, то голову и хвост установить на новый элемент. Если не пустая, то новую структуру приклеить к последнему элементу, а хвост установить на новый элемент.
Забирать элементы очереди с головы. Если очередь не пустая, то Голову установить на следущий элемент после первого, если очередь стала пустой, то и хвост обнулить.
template<typename> class queue
{
private:
T * buffer;
int buflen;
T *front_ptr, *back_ptr;
}
Дальше уж мозги включай
Ну как-как. Делаете структуру, одно из полей которой является ссылкой на эту саму структуру, а потом пишете к ней операции Добавить, Извлечь и ПроверитьНаПустоту
Что такое бореальные леса?
Несмотря на то, что термин "бореальный лес" довольно распространен, он, как ни странно, до сих пор
подробнее...
Морфемный разбор наречия очередями бессильно впустую
Первое слово – существительное, а не наречие. Разобрать указанные слова по составу
подробнее...
В чем измеряется температура воздуха?
Градус Цельсия. (обозначение: °C) — широко распространённая единица измерения температуры,
подробнее...
почему в часе 60 мин. , а не 100 или 90
В Древней Индии число 60 счталось свишеным ооттуда и пошо что в сеунде 60 милисек в мнуте 60 сек в
подробнее...
А в каких странах температуру воздуха измеряют в градусах по Фаренгейту?
Градус Фаренгейта. — единица измерения температуры с линейной шкалой. Долгое время шкала Фаренгейта
подробнее...
В каком месяце лучше замуж выходить?
ЯНВАРЬ – рано овдоветь
ФЕВРАЛЬ – жить в согласии с мужем
МАРТ – жить на чужой стороне
подробнее...
Посоветуйте хороший отель в Тайланде Пхукете 3-4* с хорошим завтраком, с чистым пляжем не подалёку, и развлечениями
Botany Beach Resort расположен в Таиланде, в одной из самых чистых зон побережья Паттайи на пляже
подробнее...
Воспоминания и размышления маршала Г. К. Жукова 🙂
Как-то по телевидению был показан сюжет: корреспондент спрашивает у школьников, гуляющих рядом с
подробнее...
как заряжается плоский конденсатор?
Конденсатор - система проводников, электрическая ёмкость которой не зависит от окружающих тел. Он
подробнее...
почему за ноль у Цельсия взята температура плавления льда, а за 100 - температура кипения воды?
Градус Цельсия. (обозначение: °C) — широко распространённая единица измерения температуры,
подробнее...
сочинение на тему город моей мечты))
Прозвенел звонок с последнего урока, и я неторопливо вышла из школы. В дневнике задание: написать
подробнее...
Определения по географии
1.Погода - совокупность значений метеорологических элементов и атмосферных явлений, наблюдаемых в
подробнее...
что лучше C# или Delphi
> В Си всё строго и в процессе обучения шишки набиваются на каждом углу.
Вот как раз
подробнее...
Как избавиться от психической болезни ОКР?
окр? На основе чего вы ее у себя диагностировали? Вы посещали психиатра и он вам такое сказал или
подробнее...
Что такое температура по кельвену и вообще что такое кельвин ?
Ке́львин (обозначение: K) — единица измерения температуры в СИ, предложена в 1848 году.
подробнее...