Заранее извиняюсь, если это "как называется синяя штука над головой", образованием не вышел.
Пишу кое-что скорее из области эзотерики, чем практически полезное. Всё сильно завязано на такой штуке:
Есть нечто (в единственном экземпляре), имеющее от нуля до двух ячеек ( [], [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 = [];
}
}
Есть для этого какое-то название? Ближе всего вроде стек, но не уверен. Очень нужно корректно назвать все вещи своими именами, а то там и без того сурово.