定义:LRU(Least Recently Used)最近最少使用的,就是剔除旧的很少使用的。
LRU算法的规则:
1、新数据插入到链表头部;
2、当缓存命中(即缓存数据被访问),数据要移到表头;
3、当链表满的时候,将链表尾部的数据丢弃。
注意:在写LRU算法之前一定要好好看看链表部分,单双链表!!!!!
根据单链表的数据节点规则,编写LRU算法。
要实现LRU算法,先编写我们自己的单链表:LinkList
我是参照双链表中的增删改查来下写的:
一、编写自定义的LinkList类(单链表形式)
1、首先编写一个类部类节点:节点命名为Node;T为泛型数据;next为下一个节点。
2、添加所需要的参数:size链表的长度;Node first:第一个节点。构造函授,一个带参数一个不带参数。
3、研究数据结构就是研究数据的增删改查;所以先写增加方法:
3.1、put():从头部添加数据,越往后越靠近链表头;代码如下:
说明:new Node的时候,相当于已经把next节点给找出来了,就是first。