Modelo por capas
Una cola de dos puntas
Un deque (double-ended queue, cola de dos extremos) es una interfaz con:
agregar_frente(x),agregar_final(x);quitar_frente(),quitar_final();frente(),final().
Sirve como pila (usando un extremo) y como cola (metiendo por uno y sacando por el otro).
Con el buffer circular, agregar_frente retrocede inicio una posición, dando la vuelta hacia atrás:
agregar_frente(x): inicio ← (inicio − 1 + capacidad) mod capacidad datos[inicio] ← x longitud ← longitud + 1Se suma la capacidad antes del mod para que el resultado no sea negativo cuando inicio es 0.