实现一个LRU链表(元素类型为整形),链表大小为N,当往链表中插入元素时(元素可能重复,如果是插入重复元素,那么不新增元素,只调整元素在链表中的位置),如果链表满了,那么淘汰最近没有被访问(这里只考虑插入这一个访问操作,不考虑查找)的元素,然后插入新元素。当插入M个元素后(M > N),打印链表中的所有元素。

区块链毕设网qklbishe.com为您提供问题的解答

实现一个LRU链表(元素类型为整形),链表大小为N,当往链表中插入元素时(元素可能重复,如果是插入重复元素,那么不新增元素,只调整元素在链表中的位置),如果链表满了,那么淘汰最近没有被访问(这里只考虑插入这一个访问操作,不考虑查找)的元素,然后插入新元素。当插入M个元素后(M > N),打印链表中的所有元素。

#include <bits/stdc++.h> using namespace std; int main() {     int size;     int num;     cin >> size;     list<int> lru;     vector<int> r;     unordered_set<int> hash;     while(cin >> num)     {         if(hash.find(num) == hash.end())         {             hash.insert(num);             if(lru.size() >= size)             {                 hash.erase(lru.front());                 lru.pop_front();             }             lru.push_back(num);         }else         {             lru.remove(num);             lru.push_back(num);         }     }     for(auto it = lru.rbegin();it != lru.rend();it++)         cout << *it << " ";     return 0; }

24:16

以上就是关于问题实现一个LRU链表(元素类型为整形),链表大小为N,当往链表中插入元素时(元素可能重复,如果是插入重复元素,那么不新增元素,只调整元素在链表中的位置),如果链表满了,那么淘汰最近没有被访问(这里只考虑插入这一个访问操作,不考虑查找)的元素,然后插入新元素。当插入M个元素后(M > N),打印链表中的所有元素。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 实现一个LRU链表(元素类型为整形),链表大小为N,当往链表中插入元素时(元素可能重复,如果是插入重复元素,那么不新增元素,只调整元素在链表中的位置),如果链表满了,那么淘汰最近没有被访问(这里只考虑插入这一个访问操作,不考虑查找)的元素,然后插入新元素。当插入M个元素后(M > N),打印链表中的所有元素。