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

专业模板建站软件wordpress笔记主题

专业模板建站软件,wordpress笔记主题,网站建设订单模板下载,中建材建设有限公司网站基于双链表的实现 需要维护的是两个&#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/a/436901.html

相关文章:

  • 通过模板做网站手机网站方案
  • 网站建设最新技术及发展趋势wordpress显示选项取消了吗
  • 深圳哪家网站建设的公司好例点估算网站开发项目工作量
  • 金融营销的网站设计案例中国建设银行网站会员注册
  • 影楼网站模版中国四大门户网站分别是
  • 手机网站 制作教程wordpress旅游社区
  • 淘客做网站有必要吗手机网页免费制作app
  • 建立网站后怎样收费上海网站建设托管
  • 做网站百度收费吗电子商务网站开发策划
  • 衡水电子网站建设自媒体seo是什么意思
  • 民治网站建设毛衣品 东莞网站建设
  • 环保局网站建设wordpress更改文章宽度
  • 【LINUX学习】“su:鉴定故障”和“用户不在sudoers文件中。此事将被报告。”同时出现的解决方法
  • 湖南网络营销企业中山seo网络推广
  • 青岛做网站推广公司建设网站的平台
  • 国外网站建设接单WordPress单页添加Js
  • 网站建设外地便宜成都高速公路网站建设招标
  • 珠海定制网站建设推广网站建设推广关键词
  • 资中网站建设淄博做网站公司
  • 第一次做网站做什么比较好wordpress 后台 324
  • 原网站备案在哪杭州盘石做网站专业吗
  • c++语言做网站电脑云主机
  • 业余做衣服的网站建立一个网站的费用
  • 陕西中交基础建设有限公司网站wordpress现在流行吗
  • 网站建设公司muyunke徐州网站建设xzqjwl
  • 成都网站建设优选推来客海盐县建设门户网站
  • ic交易网站建设沈阳定制网红小熊花的地方
  • 个人备案网站可以做淘宝客南京高淳开展规模性核酸检测
  • 想开一个网站开发的公司怎么和客户推广说网站建设语
  • 重庆网站建设推广服务中国建设银行网站济南网点