0x9d8e
@0x9d8e
Велосипедостроитель в терминальной стадии

Как назвать такую структуру данных?

Заранее извиняюсь, если это "как называется синяя штука над головой", образованием не вышел.
Пишу кое-что скорее из области эзотерики, чем практически полезное. Всё сильно завязано на такой штуке:

Есть нечто (в единственном экземпляре), имеющее от нуля до двух ячеек ( [], [0], [0,1]). Читать можно любую. Записывать только (почти) в конец, при этом позиции ячеек сдвигаются и нулевая вытесняется. Можно "переворачивать", полностью очищать (тогда будет []). Удалить определённую ячейку нельзя, только все. Вот псевдокод (к конкретному ЯП всё это не относится, реализовано сильно иначе):
class WHAT_IT_IS singletone {
   private values = int[];
   public add(auto value) {
      if(this.values.length < 2)
         this.values[this.values.length] = value; 
      else 
         this.values[0] = this.values[1] = value;
     
  }
   public get(bool index) {
      return this.value[index];
   }
   public rever() {
      this.values[0] = this.values[this.values.length-1] = this.values[0];
   }
   public clear() {
      this.values = [];
   }
}


Есть для этого какое-то название? Ближе всего вроде стек, но не уверен. Очень нужно корректно назвать все вещи своими именами, а то там и без того сурово.
  • Вопрос задан
  • 2397 просмотров
Решения вопроса 1
@tugo
fixed size FIFO queue
shift register (регистр сдвига)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Cyapa
@Cyapa
Конкретно такого паттерна нет в программировании. Это очень близко к статической очереди с перезаписью, но
отличается возможностью читать любой элемент. Можно погуглить что-нибудь такое: static FIFO queue.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы