gpt4 book ai didi

c++ - 具有 O(1) 性能的类似 STL 的容器

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:53 24 4
gpt4 key购买 nike

我找不到答案,但我很确定我不是第一个寻找这个的人。有没有人知道/使用/看到一个类似STL的容器,它具有双向访问迭代器,对于插入/删除具有O(1)复杂性/查找 ?
谢谢。

最佳答案

插入、删除和查找没有复杂度为 O(1) 的抽象数据类型,它还提供双向访问迭代器。

编辑:

对于任意大的域都是如此。给定一个足够小的域,您可以使用数组和双向链表实现一个具有 O(1) 复杂度的插入、删除和查找集合以及双向访问迭代器:

std::list::iterator array[MAX_VALUE];
std::list list;

初始化:

for (int i=0;i<MAX_VALUE;i++)
array[i] = list.end();

插入:

if (array[value] != list.end())
array[value] = list.insert(value);

删除:

if (array[value] != list.end()) {
array[value].erase();
array[value] = list.end();
}

查找:

array[value] != list.end()

关于c++ - 具有 O(1) 性能的类似 STL 的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1601060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com