Можно ли написать очередь без использования структур, указателей и списков? То есть исключительно манипулируя функциями, массивами и переменными.
четверг, 12 октября 2017
Комментарии
forum.vingrad.ru/forum/topic-344036.html
При помощи std::vector:
При помощи стандартного массива:
Kot Dymok, через вектор мне не очень подходит, поэтому и написал на С (как понимаю он в С++ только), не подходит потому, что вектор динамический массив. Через функцию маллок ближе уже, но тоже не то, так как имеется динамическое выделение памяти. Хотелось бы на обычном статичном массиве. Скажем я заведомо знаю, что данных у меня на 10 элементов в исходном массиве (инициализирую его сам с клавиатуры 0,1,2,...,9), затем у меня есть второй пустой массив также на 10 элементов (инициализирую его нулями 0,0,0,...,0) и данные поступают следующим образом:
- в нулевой элемент пустого массива отправляется нулевой элемент данных, то есть 0, в первый элемент - 1, во второй - 2, ..., в девятый 9;
- отправка осуществляется поэлементно, на каждой итерации ровно один элемент;
- после того как все элементы отправлены происходит циклический сдвиг всех элементов на 1 позицию вправо, но голова уходит в хвост;
- такой циклический сдвиг происходит, например, N раз, где N я ввожу с клавиатуры.
Это же будет очередью?
Решение интересует исключительно в образовательных целях, чтоб получше представлять структуру.