gpt4 book ai didi

c++ - 如何使用std::list实现LRU

转载 作者:行者123 更新时间:2023-11-28 06:06:29 27 4
gpt4 key购买 nike

使用列表和 HashMap ,我们可以在 Java 中实现 LRU。

How would you implement an LRU cache in Java?

在 C++ 中,std::list 是否允许我们实现它?

对于缓存中的每个元素,我们需要知道它在列表中的位置。但是,list移除一个位置后,是否保证这个位置之后的位置(list::iterator)不会改变?

最佳答案

是的,您可以使用 std::liststd::map 实现 LRU。

std::list 引用保留元素的迭代器不受其他元素的插入和删除的影响。看到这个答案:Iterator invalidation rules

std::map也是如此。看到这个答案:Does insertion to STL map invalidate other existing iterator?

关于c++ - 如何使用std::list实现LRU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32287044/

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