我正在寻找一种允许将值快速(比 O(N) 快)任意插入到结构中的数据结构(类似数组)。数据结构必须能够以插入的方式打印出其元素。这类似于 List.Insert() 之类的东西(它太慢了,因为它必须移动每个元素),除了我不需要随机访问或删除。插入将始终在“数组”的大小范围内。所有的价值观都是独一无二的。不需要其他操作。
例如,如果 Insert(x, i) 在索引 i(0 索引)处插入值 x。然后:
- Insert(1, 0) 给出 {1}
- Insert(3, 1) 给出 {1,3}
- Insert(2, 1) 给出 {1,2,3}
- Insert(5, 0) 给出 {5,1,2,3}
并且它需要能够在最后打印出 {5,1,2,3}。
我正在使用 C++。