Estoy buscando una estructura de datos (tipo array) que permita una inserción arbitraria (más rápida que O (N)) de valores en la estructura. La estructura de datos debe poder imprimir sus elementos en la forma en que se insertaron. Esto es similar a algo como List.Insert() (que es demasiado lento ya que tiene que desplazar cada elemento), excepto que no necesito acceso o eliminación aleatorios. La inserción siempre estará dentro del tamaño de la 'matriz'. Todos los valores son únicos. No se necesitan otras operaciones.Estructura de datos eficiente para la inserción
Por ejemplo, si Insert (x, i) inserta el valor x en el índice i (0-indexación). Entonces:
- Insert (1, 0) da {1}
- Insert (3, 1) da {1,3}
- Insert (2, 1) da {1,2,3}
- Insertar (5, 0) da {5,1,2,3}
Y tendrá que ser capaz de imprimir {5,1,2,3} al final.
Estoy usando C++.
¿qué quiere decir con "array like"? – juanchopanza
¿Tiene requisitos con respecto a la complejidad de atravesar la estructura de datos? –
@juanchopanza Quiero decir en la superficie, debería actuar como una matriz lineal. Debe mantener los elementos en la forma en que los inserté. – Peter