我正在寻找一种数据结构(类似于数组),它允许在该结构中快速插入值(速度比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 ++。
例如,如果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 ++。