¿Por qué no presionar / hacer estallar frente al vector?

En C ++, STL, tenemos clase de plantilla<vector>. Sabemos que es compatibleO(1) acceso aleatorio y modificación de cola. Mi pregunta es por qué no definimos push_front o pop_front en<vector>?

Una explicación es que si queremos empujar / hacer estallar el elemento en el frente de un vector, debemos cambiar cada elemento de la matriz en un paso y eso costaríaO(n).

Pero creo que ese no es siempre el caso. Considerando que si implementamos<vector> con matriz circular, podemos lograrO(1) push / pop desde el frente y la cola del vector, sin perder la capacidad deO(1) acceso aleatorio. Así que personalmente no puedo pensar en ninguna razón en lugar de solo una pequeña sobrecarga para no implementarpush_front/pop_front para<vector>. ¿Alguna idea?

Respuestas a la pregunta(3)

Su respuesta a la pregunta