没有标准容器从盒子中提供这样的保证,需要一些额外的操作(例如,像Jerry Coffin建议的那样),它不重复。
是否存在随机访问时至少为O(ln N)且删除时为O(ln N)的现成数据结构/容器? (STL /升压/等)
对容器内元素的排序并不重要。
此类操作可能会连续发生,例如:
按索引随机访问(索引也是随机的,rand()%size())
删除此项目
按索引随机访问(索引也是随机的,rand()%size())
删除此项目
等...
答案 0 :(得分:4)
由于您说排序无关紧要,您可以使用矢量在恒定时间内完成两种操作。
随机访问(显然)是恒定时间。
通过将元素交换为最后一个元素删除,然后删除最后一个元素,可以在常量时间内删除。