Можно ли написать очередь без использования структур, указателей и списков? То есть исключительно манипулируя функциями, массивами и переменными.

@темы: C++, Алгоритм

Комментарии
12.10.2017 в 07:47

тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
типичная реализация очереди - это массив и две переменные (хранящие индексы головы и хвоста очереди)
12.10.2017 в 17:46

CD_Eater, можете показать как это делается?
12.10.2017 в 21:32

тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
12.10.2017 в 21:33

Я — Господень скоморох, таких и любит Господь
Груша Вильямс, Набросал прямо здесь, потому могут быть ошибки:

При помощи std::vector:


При помощи стандартного массива:

14.10.2017 в 21:32

CD_Eater, спасибо, но этот код для ЮАРТа слишком крут для меня пока что)

Kot Dymok, через вектор мне не очень подходит, поэтому и написал на С (как понимаю он в С++ только), не подходит потому, что вектор динамический массив. Через функцию маллок ближе уже, но тоже не то, так как имеется динамическое выделение памяти. Хотелось бы на обычном статичном массиве. Скажем я заведомо знаю, что данных у меня на 10 элементов в исходном массиве (инициализирую его сам с клавиатуры 0,1,2,...,9), затем у меня есть второй пустой массив также на 10 элементов (инициализирую его нулями 0,0,0,...,0) и данные поступают следующим образом:
- в нулевой элемент пустого массива отправляется нулевой элемент данных, то есть 0, в первый элемент - 1, во второй - 2, ..., в девятый 9;
- отправка осуществляется поэлементно, на каждой итерации ровно один элемент;
- после того как все элементы отправлены происходит циклический сдвиг всех элементов на 1 позицию вправо, но голова уходит в хвост;
- такой циклический сдвиг происходит, например, N раз, где N я ввожу с клавиатуры.
Это же будет очередью?
Решение интересует исключительно в образовательных целях, чтоб получше представлять структуру.