gpt4 book ai didi

c++ - 优先队列和映射

转载 作者:太空狗 更新时间:2023-10-29 23:15:47 27 4
gpt4 key购买 nike

我在我的程序中做 LRU 缓存。我有:

class DiadocCache : public IDiadocCache<K,T>
{
private:
std::map<K, CacheEntry<T>> values_;
std::priority_queue<?> timeQueue_;
}

优先级 - 在我的例子中是按键的点击次数。

我将项目放在 std::map 中,如下所示:values_.insert(std::make_pair(key, CacheEntry(value)));

如何在 priority_queue 中添加元素?创建优先级队列时必须指定哪些类型?std::priority_queue<?>

最佳答案

您当前的 DS 无法实现 LRU。您应该使用 DLL 对每个元素进行哈希处理。您可以将 list 与 unordered_hash 或 map 一起使用。在当前的实现中,您无法更新 priority_queue 的数据。

关于c++ - 优先队列和映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27541063/

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