Penso che possa dipendere dall'attuale implementazione di questo. Un esempio pratico di ciò che viene descritto è lo Circular Buffer o il Ring Buffer in cui i dati più vecchi vengono sovrascritti dai nuovi dati quando il buffer è pieno. Questo sarebbe uno dei modi tradizionali di implementare tale struttura dati in qualcosa come C.
MODIFICA: Ok, quindi il buffer circolare non si adatta perfettamente. Che ne dite di Finite Buffer Queue, o Finite Capacity Queue? Ma quelli in realtà non coprono l'aspetto auto-limitante ...
Coda Bratt a capacità finita auto-limitante.
Auto-popping ...
Il mio punto è che io non credo che ci sia un nome ufficiale per una struttura di dati con i esatte proprietà che hai citato, così si potrebbe anche fare uno su base sulla struttura dei dati che più gli assomiglia, forse combinata con alcune proprietà uniche della tua struttura. Probabilmente sarà piuttosto prolisso ...
MODIFICA: O forse è un Cyclic Queue. L'articolo lo descrive come:
questo articolo descrive una coda simile a System.Collections.Queue, tranne che ha> una dimensione di buffer fissa. Ciò significa, ovviamente, che il buffer non può essere abbastanza grande da contenere tutti gli elementi aggiunti alla coda, nel qual caso gli elementi più vecchi vengono eliminati.
... che suona molto simile al tuo. Bello e conciso anche.
Quindi il punto è che gli elementi vengono rimossi come batch anziché uno per uno? – Vizu
Hai già creato la suddetta struttura dati e stai solo cercando di trovare un nome adatto? – Xiaofu
@Vizu: Sì, altrimenti sarebbe un buffer circolare standard. –