实现如下LRU模板类
template <typename K,typename V> class LRU{ public: void insert(const K &key,const V &value); //插入k,value的键值对(如果容器中已经有key为k的值,那么用新的替换它) V get(const K &key); //返回key对应的value值 bool contains(const K &key); //返回是否存在key void vis(const K &key); //设置key为最近访问 bool emtpy(); //判空 unsigned long long size(); //返回元素个数 void pop(); //弹出最久没访问过的数据 void remove(const K &key); //删除指定key数据 void clear(); //清空 };
新增的头文件可以包含在文件开头
提交的代码必须只包含功能完整LRU类(函数名、参数和返回值类型都要完全符合,不要写错)和头文件。不要写其他多余的东西,比如main()
学长说了emtpy就是这么拼的,标程代码也是这么拼的,所以你提交的代码也必须这么拼,不服者不能AC
复杂度要求:每个操作不超过O(logn)
没有输入
没有输出