LINUX.ORG.RU

История изменений

Исправление vtVitus, (текущая версия) :

если хранятся не цифры, а нормальные объекты, то проще всего делать так. Адрес элемента хранится в массиве и вставляется по циклу. Т.е. первая вставка перезаписывает 0 элемент, вторая 1 и т.п. Соответственно получение адреса элемента по индексу это что-то вроде get(i) = p[i + count % len], где count это кол-во вставок, len это длина твоего статической очереди.

Исходная версия vtVitus, :

если хранятся не цифры, а нормальные объекты, то проще всего делать так. Разнести хранение объекта и хранение индекса. Объект хранится в списке, соответственно добавление элемента это постановка в конце списка и удаление начальное. Адрес элемента хранится в массиве и вставляется по циклу. Т.е. первая вставка перезаписывает 0 элемент, вторая 1 и т.п. Соответственно получение адреса элемента по индексу это что-то вроде get(i) = p[i + count % len], где count это кол-во вставок, len это длина твоего статической очереди.