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

汕头网站搜索优化商城网站建设目的

汕头网站搜索优化,商城网站建设目的,从客户—管理者为某一公司做一份电子商务网站管理与维护的方案,一般纳税人5%征收率这个双向链表采用的是有伪头节点和伪尾节点的 与上一篇文章中单链表的实现不同#xff0c;区别于在实例化这个链表时就初始化了的伪头节点和伪尾节点#xff0c;并相互指向#xff0c;在第一次添加节点时#xff0c;不需要再考虑空指针指向问题了。 /*** 通过链表与HashMa…这个双向链表采用的是有伪头节点和伪尾节点的 与上一篇文章中单链表的实现不同区别于在实例化这个链表时就初始化了的伪头节点和伪尾节点并相互指向在第一次添加节点时不需要再考虑空指针指向问题了。 /*** 通过链表与HashMap实现LRU缓存** author CC* version 1.0* since2023/9/27*/ public class LRUCache {private MapInteger, Node cache new HashMap();//哈希表private int size;//链表长度private int capacity;//缓存容量private Node first;//伪头节点private Node last;//伪尾节点/*** 将一个新节点添加到头部** param newNode 要添加的新节点*/private void addFirst(Node newNode) {//注意 顺序很重要//1、分配新节点的前驱和后继newNode.prev first;newNode.next first.next;//2、头节点原来的后继的前驱指向新节点first.next.prev newNode;//3、头节点的后继执行新节点first.next newNode;}/*** 删除一个节点** param node 要删除的节点*/private void deleteNode(Node node) {//要删除节点的后继和前驱相互指引node.prev.next node.next;node.next.prev node.prev;}/*** 将一个节点放到伪头节点后** param node 移动的节点*/private void moveToFirst(Node node) {//删除这个节点deleteNode(node);//添加一个头节点addFirst(node);}/*** 删除尾节点** return 返回删除的这个节点*/private Node deleteToLast() {//获得伪尾节点的前驱 也就是尾节点Node ret last.prev;//删除尾节点deleteNode(last.prev);return ret;}/*** 存入缓存** param key* param value*/public void put(int key, int value) {//从hash表中查询这个健Node node cache.get(key);//如果hash表中不存在要添加的健if (node null) {//创建一个新的节点Node newNode new Node(key, value);//将这个健和节点添加到hash表中cache.put(key, newNode);//将这个节点存到头节点中addFirst(newNode);//如果这个缓存已满if (size capacity) {//删除尾节点Node last deleteToLast();//从hash表中也删除这个健cache.remove(last.key);size--;}//如果hash表中存在要添加的健} else {//将新添加的值覆盖原来的值node.value value;//并移到头节点moveToFirst(node);}}/*** 获取缓存** param key 该缓存的健* return 返回 该节点的值*/public int get(int key) {//通过健从hash表中获取这个节点Node node cache.get(key);//如果为空 则返回-1if (node null) {return -1;}//否则 将该节点 移到头节点处moveToFirst(node);return node.value;}/*** 双向链表的遍历 头-尾** return*/Overridepublic String toString() {StringJoiner sj new StringJoiner(-);for (Node n first.next;n.next!null;nn.next){sj.add(String.valueOf(n.value));}return 头-尾:sj.toString();}/*** 构造方法** param capacity 设置缓存容量*/public LRUCache(int capacity) {size 0;//初始链表长度位0this.capacity capacity;//设置缓存容量first new Node();//实例化伪头节点last new Node();//实例化伪尾节点//初始头尾节点相互指向first.next last;last.prev first;}/*** 节点类*/class Node {int key; //键int value;//值Node prev;//前驱Node next;//后继/*** 无参构造*/public Node() {}/*** 有参构造** param key 健* param value 值*/public Node(int key, int value) {this.key key;this.value value;}}}测试 //实例一个缓存大小为7的LRU缓存LRUCache lruCache new LRUCache(5);lruCache.put(1,1);lruCache.put(2,2);lruCache.put(3,3);lruCache.put(4,4);lruCache.put(5,5);lruCache.put(6,6);System.out.println(依次存入1、2、3、4、5、6后的缓存lruCache);int l1 lruCache.get(1);System.out.println(取出1后的缓存lruCache,取出的值l1);int l2 lruCache.get(2);System.out.println(取出2后的缓存lruCache,取出的值l2);int l3 lruCache.get(3);System.out.println(取出3后的缓存lruCache,取出的值l3);lruCache.put(9,9);System.out.println(存入9后的缓存lruCache); 测试结果
http://www.w-s-a.com/news/634128/

相关文章:

  • 工业企业网站建设企业门户网站解决方案
  • 网站运营与管理论文网上商城都有哪些
  • 常德网站制作建设毕设电商网站设计
  • 西安企业模板建站福州+网站建设+医疗
  • 邹城市住房和建设局网站仙居网站建设贴吧
  • 为什么要用CGI做网站网站手机优化显示
  • 做袜子娃娃的网站做网站要学的东西
  • 类qq留言网站建设企业做网站公司
  • 如何查到网站建设三足鼎立小程序开发公司
  • 交互网站怎么做的wordpress ssl 错位
  • 公司宣传 如何做公司网站郑州做网站那
  • 衡阳市城乡建设协会官方网站免费游戏网站模板
  • 小程序怎么做优惠券网站合肥建站网站平台
  • 民制作网站价格株洲企业seo优化
  • 网站建设 岗位职责网站建设百度索引
  • 网站建设的内容下拉网站导航用ps怎么做
  • 怎样做p2p网站海口免费自助建站模板
  • 给企业建设网站的流程图wordpress 添加子菜单
  • 企业网站带新闻发布功能的建站皋兰县建设局网站
  • 国内外做gif的网站wordpress数据库教程
  • 成都建站平台自己做一个网站需要多少钱
  • 景区旅游网站平台建设公司企业网站源码
  • 免费高清网站推荐喂来苏州网络科技有限公司
  • php做的大型网站有哪些备案博客域名做视频网站会怎么样
  • 去哪网站备案吗昭通网站建设
  • flash企业网站源码建筑材料采购网站
  • 网站可以换虚拟主机吗部门做网站优点
  • 如何做分类网站信息营销莱芜网页定制
  • 班级网站建设感想中国做视频网站有哪些
  • 做刷票的网站wordpress图片链接插件