Я ищу структуру данных (подобную массиву), которая позволяет быстро (быстрее, чем O (N)) произвольно вставлять значения в структуру. Структура данных должна иметь возможность распечатывать свои элементы в том виде, в котором они были вставлены. Это похоже на что-то вроде List.Insert () (который слишком медленный, поскольку он должен сдвигать каждый элемент), за исключением того, что мне не нужен произвольный доступ или удаление. Вставка всегда будет в пределах размера «массива». Все ценности уникальны. Никаких других операций не требуется.
Например, если Insert (x, i) вставляет значение x в индекс i (0-индексация). Потом:
- Вставка (1, 0) дает {1}
- Вставка (3, 1) дает {1,3}
- Вставка (2, 1) дает {1,2,3}
- Вставка (5, 0) дает {5,1,2,3}
И в конце нужно будет распечатать {5,1,2,3}.
Я использую C ++.