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

网站如何做下一页做软欧的网站

网站如何做下一页,做软欧的网站,网站优化排名首页,网站开发方式有外包这道题从来没做过,完全不知道该怎么写,直接去看视频了,感觉这个视频讲解的挺好的。 这道题主要是需要自己额外定义数据结构和函数,需要定义节点结构体,用于存放键值对,每个节点都有前后指针,所以…


这道题从来没做过,完全不知道该怎么写,直接去看视频了,感觉这个视频讲解的挺好的。
这道题主要是需要自己额外定义数据结构和函数,需要定义节点结构体,用于存放键值对,每个节点都有前后指针,所以这道题是采用哈希表+双向链表的做法来做的。这道题添加和删除节点的逻辑都很好理解,最难想到的就是当插入节点,但缓存已满时,如何找到最久未使用的节点,这个实现起来不难,每一次插入节点都从头部插入,不常使用的节点总是在链表的最末端,所以我们只需要将末端的节点删除即可。

//定义节点
struct Node{int key, val;Node *pre, *next;Node() : key(0), val(0), pre(nullptr), next(nullptr){}Node(int _key, int _val) : key(_key), val(_val), pre(nullptr), next(nullptr){}
};class LRUCache {
public:Node *head, *tail;   //双向链表的头节点和尾节点unordered_map<int, Node*> hash;    //内部维护一个哈希表int capacity, size;   //容量和当前元素个数LRUCache(int _capacity) {capacity = _capacity;size = 0;head = new Node();tail = new Node();head -> next = tail;tail -> pre = head;}int get(int key) {if(!hash.count(key))return -1;Node* node = hash[key];removeNode(node);addNodeHead(node);return node -> val;}void put(int key, int value) {if(hash.count(key)){   //该键已经存在Node* node = hash[key];node -> val = value;removeNode(node);addNodeHead(node);}else{   //插入的为新键if(size >= capacity){  //已经达到最大容量Node* removed = tail -> pre;  //删除双向链表中的最后一个节点hash.erase(removed -> key);  //及时从哈希表中删除不活跃节点对应的键removeNode(removed);size--;}Node *node = new Node(key, value);addNodeHead(node);hash[key] = node;size++;}}//自定义删除节点函数void removeNode(Node *node){node -> pre -> next = node -> next;node -> next -> pre = node -> pre;}//自定义添加节点函数void addNodeHead(Node *node){node -> pre = head;node -> next = head -> next;head -> next -> pre = node;head -> next = 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/813596.html

相关文章:

  • 网站快备创新的广州做网站
  • 响应式视频网站做外贸必应网站产品曝光
  • 建设信用卡银行积分兑换商城网站柘林网站建设
  • 甘肃网站建设哪家好专业简历制作公司
  • 企业网站设计需要了解摄影网站难做吗
  • wordpress 站中站标志空间 网站
  • 好网站页面wordpress5.1下载
  • 宁波企业网站优化报价积分动力WordPress
  • 扶贫办网站建设cms建站系统 下载
  • 开公司做购物网站是不是想多了西安家政公司网站建设
  • 做服装必须看的十大网站企业如何申请网址
  • 求免费网站能看的2021网站推广产品怎么做
  • 网站二次开发教程推广方案的内容有哪些
  • 上海网站改版方案wordpress优惠劵
  • 摄影 网站 源码网站推广的意义
  • 企业支付的网站开发费如何入帐海南省城乡和建设厅网站首页
  • 金融股票类app网站开发网站的搭建需要多少钱
  • 校园网站建设意见表填写前端不会wordpress
  • 目前搜索引擎排名wordpress企业网站seo
  • 南山做网站公司在哪里如何创建一个公司
  • 建设人力资源官方网seo整站优化+WordPress
  • 福建福州罗源建设局网站做官方网站公司
  • 哪个网站做化妆品效果好网店怎么开起来
  • 做网站怎么选云主机室内设计师的网站
  • 烟台做网站系统wordpress后台编辑主题时提示:抱歉_该文件无法被编辑
  • 做外贸自己公司的网站一定要吗翠竹林 wordpress
  • 福田网站建设乐云seoxampp的Wordpress公网
  • 杭州个人网站建设wordpress 火车头采集
  • 四平建设局网站奉贤高端网站建设
  • 婚纱摄影网站怎么建设做一个打鱼网站需要多少钱