structura de datos que siempre mantiene los mejores elementos

Necesito una estructura de datos que siempre contenga eln elementos más grandes insertados hasta ahora (sin ningún orden en particular).

Así que sin es 3, podríamos tener la siguiente sesión donde inserto algunos números y el contenido del contenedor cambia:

[]  // now insert 1
[1] // now insert 0
[1,0] // now insert 4
[1,0,4] // now insert 3
[1,4,3] // now insert 0
[1,4,3] // now insert 3
[4,3,3]

Ya entiendes la idea. ¿Cuál es el nombre de la estructura de datos? ¿Cuál es la mejor manera de implementar esto? ¿O está esto en alguna biblioteca?

stoy pensando en usar un contenedor que tenga unpriority_queue para sus elementos (delegación), que utiliza la comparación inversa, entoncespop eliminará el elemento más pequeño. Entonces elinserta función @ primero verifica si el nuevo elemento a insertar es mayor que el más pequeño. Si es así, tiramos el más pequeño y empujamos el nuevo elemento.

(Tengo unC++ implementación en mente, pero la pregunta es independiente del lenguaje, sin embargo.)

Respuestas a la pregunta(8)

Su respuesta a la pregunta