流程图:

1. 代码

 import java.util.ArrayList;

 public class LRUCache {
private int cacheMaxSize = 0;
private ArrayList<Integer> pages = null; // Interger means page id public LRUCache(int cacheMaxSize) {
this.cacheMaxSize = cacheMaxSize;
pages = new ArrayList<Integer>();
} public void add(Integer p) {
if (pages.contains(p)) {
pages.remove(p);
pages.add(p);
} else if (pages.size() == cacheMaxSize) {
pages.remove(0);
pages.add(p);
} else {
pages.add(p);
} }
}

2. 测试的代码

import java.util.ArrayList;
import java.util.Scanner; import xqy.been.LRUCache; public class LRU {
private Scanner sc;
private LRUCache lc = null;
private ArrayList<Integer> pages = null; public LRU() {
sc = new Scanner(System.in);
pages = new ArrayList<Integer>(); init();
op();
} private void init() {
int key = -2; System.out.print("<LRU> 请输入物理块个数:");
lc = new LRUCache(sc.nextInt()); System.out.println("<LRU> 请按顺序输入页号(exit: -1): ");
while (key != -1) {
key = sc.nextInt(); if (key > 0) {
pages.add(key);
}
}
} private void op() {
for (int i = 0; i < pages.size(); i++) {
lc.add(pages.get(i));
}
} public static void main(String[] args) {
new LRU();
}
}

最新文章

  1. 1.reset.css的设置
  2. array_filter,匿名函数
  3. JS---如何避免用户在请求时“猛击”
  4. as关键词还有另外一个用途,那就是修改 方法 的访问控制
  5. 使用 IntelliJ IDEA 2016和Maven创建Java Web项目的详细步骤及相关问题解决办法
  6. 【转】VS2012程序打包部署详解
  7. Nginx 配置指令location 匹配符优先级和安全问题【转】
  8. Asp.Net中GridView加入鼠标滑过的高亮效果和单击行颜色改变
  9. 关于cocos2dx导入安卓项目至eclipse的诸多问题
  10. JavaBean中DAO设计模式介绍
  11. L9,a cold welcome
  12. java算法 蓝桥杯 格子位置
  13. Git详解之九:Git内部原理
  14. 树链剖分模板(BZOJ3083)
  15. 20155324《网络对抗》Exp07 网络欺诈防范
  16. js中的Call()和apply()
  17. maven小结
  18. [PHP]算法- 判断是否为二叉搜索树的后序遍历序列的PHP实现
  19. Polygon Offset
  20. Nginx使用笔记

热门文章

  1. OCP 12c最新考试原题及答案(071-8)
  2. PLSQL基本操作手册
  3. bzoj 3669: [Noi2014]魔法森林(并查集+LCT)
  4. 2019.2.14 t1 最大公约数
  5. windows 安装python问题总结
  6. 北航软院2014级C#期末考试部分考题解答
  7. CDQZ Day6
  8. 榨取kkksc03 多维dp
  9. CDH6安装文档
  10. google浏览器安装不上的绝望经历