当前位置: 首页 > wzjs >正文

全国做网站排行沈阳企业网站seo公司

全国做网站排行,沈阳企业网站seo公司,网站二级菜单是什么原因,合肥政府网站建设基于双链表的实现 需要维护的是两个&#xff1a; 负责达到快速查找作用的unodered_map<key, DLinkList*>&#xff0c;key存放的是键&#xff0c;值存放的是这个键在cache里面的地址&#xff0c;这样查找的时候就能快速找到键并通过值访问地址获取其val了负责记录具体信…

基于双链表的实现

需要维护的是两个:

  1. 负责达到快速查找作用的unodered_map<key, DLinkList*>,key存放的是键,值存放的是这个键在cache里面的地址,这样查找的时候就能快速找到键并通过值访问地址获取其val了
  2. 负责记录具体信息和使用记录的cache多个DlinkList链接起来的链表。推荐创建一个虚拟头和尾结点,方便管理,越靠近头就越是最近用过,越靠近链表尾部,就代表越久未使用过。
struct DLinkedNode{  //使用记录的双向链表int key_, value_;DLinkedNode* pre_;DLinkedNode* next_;DLinkedNode():key_(0),value_(0), pre_(nullptr), next_(nullptr){}DLinkedNode(int key, int value):key_(key), value_(value),pre_(nullptr),next_(nullptr){}
};class LRUCache {
private:unordered_map<int,DLinkedNode*> cache; //缓存,只是为了更快速的找到DLinkedNode* head;DLinkedNode* tail;size_t size;size_t cap;public:LRUCache(int capacity): cap(capacity),size(0){head = new DLinkedNode();tail = new DLinkedNode();head->next_ = tail;tail->pre_ = head;}int get(int key) {if(!cache.count(key)) return -1;DLinkedNode* node = cache[key];moveToHead(node);return temp->value_;}void put(int key, int value) {if(!cache.count(key)){ //cache里没有就加结点,cache只是为了快速找到DLinkedNode* node = new DLinkedNode(key,value);addToHead(node);cache[key] = node;size++;if(size > cap){DLinkedNode* removed = removeTail();cache.erase(removed->key_);delete removed;size--;}}else{ //加入的存在了,把它挪到使用记录双向链表的第一个DLinkedNode* node = cache[key];temp->value_ = value;moveToHead(node);}}//一些操作双向链表记录的操作方法void addToHead(DLinkedNode* node){node->pre_ = head;node->next_ = head->next_;head->next_->pre_ = node;head->next_ = node;}void removeNode(DLinkedNode* node){node->pre_->next_ = node->next_;node->next_->pre_ = node->pre_;}void moveToHead(DLinkedNode* node){removeNode(node);addToHead(node);}DLinkedNode* removeTail(){DLinkedNode* node = tail->pre_;removeNode(node);return node;}};/*** Your LRUCache object will be instantiated and called as such:* LRUCache* obj = new LRUCache(capacity);* int param_1 = obj->get(key);* obj->put(key,value);*/
http://www.dtcms.com/wzjs/113409.html

相关文章:

  • 玩具公司网站设计论文网络营销怎么做
  • 北京网站改版要注意什么莆田seo
  • 自动做网站网络整合营销公司
  • 网站建设模板是什么意思百度网盘资源搜索
  • 可以做mv 的视频网站今天合肥刚刚发生的重大新闻
  • 网站套模版品牌策划公司
  • 网站开发实验室建设方案微信crm系统软件
  • 公司网站怎么注销营销知识和技巧
  • 做网站遇到的问题温州seo团队
  • 返利网站开发一般要多少钱友链查询站长工具
  • 温州网站制作网站广告网站大全
  • wordpress如何二次开发电商seo搜索引擎优化
  • 深圳市住房和建设局办事大厅黑帽seo365t技术
  • 学seo可以做网站吗百度一下官网首页网址
  • 上海网站建设免费推宁波seo博客
  • 比较好的做网站百度网盘登录入口官网
  • wordpress seo 标题网站搜索排名优化价格
  • 青海省建设厅网站seo培训学院
  • 网站建设评语百度权重查询
  • 遵义网站建设有限公司如何推销产品给客户
  • 网站建设主要课程投放广告怎么投放
  • 北京龙鼎网站建设公司济南seo优化公司助力网站腾飞
  • 企业网站开发公司排名企业网络策划
  • 如何进行网站网站调试手游推广渠道
  • h5营销型网站文章优化关键词排名
  • 欧式风格装修效果图免费的seo网站
  • 网站收录申请b站推广入口
  • 做陶瓷的公司网站百度助手下载
  • 网站开发多少钱现在有哪些免费推广平台
  • 用scala做网站类似58的推广平台有哪些平台