Я ищу тип списка, который реализует следующую функцию (псевдокод):
list.init(5, 2, 6, 9);
list.add(1) // 2, 6, 9, 1
list.add(4) // 6, 9, 1, 4
list.add(8) // 9, 1, 4, 8
Добавить новый элемент в список фиксированных размеров и поместить самый старый. Извините, я не знаю названия этой концепции, поэтому я спрашиваю вас, как это имя может быть.;)
Моя реализация в С++ была бы на самом деле:
std::deque<double> values(4);
void add(double value)
{
values.pop_front();
values.push_back(value);
}
Есть ли какие-либо лучшие реализации, чем мои, возможно, фиксированный размер времени?