求大神帮忙用java写一个fifo或者LRU的页面置换算法
求大神帮忙用java写一个fifo或者LRU的页面置换算法
求大神帮忙用java写一个fifo或者LRU的页面置换算法
之前写过一个LRU的算法,不知道符不符合你的需求
/**
@author liuxin
*
*/
public class LRUPageFrame {
private static class Node {
Node prev;
Node next;
int pageNum;
Node() {
}
}
/**
private Node first;// 链表头
private Node last;// 链表尾
public LRUPageFrame(int capacity) {
this.capacity = capacity;
}
/**
@param node
*/
private void moveTofirst(Node node) {
if(node==first){
return;
}
if(node==last){
first.prev = node;
node.next = first;
first = node;
last = node.prev;
last.next = null;
first.prev = null;
}else{
node.prev.next = node.next;
node.next.prev = node.prev;
node.prev = null;
node.next = first;
first.prev = node;
first = node;
}
}
/**
public String toString() {
StringBuilder buffer = new StringBuilder();
Node node = first;
while (node != null) {
buffer.append(node.pageNum);
node = node.next;
if (node != null) {
buffer.append(",");
}
}
return buffer.toString();
}
}
fifo的话可以吧请求的链接存放到一个队列中 这样就可以实现了吧