import java.util.Stack;
public class LRUTest {
public static void main(String[] args) {
Stack<String> stack1 = new Stack<String>();
String str[] = { "4", "7", "0", "7", "1", "0", "1", "2", "1", "2", "6" };
int count = 0;
for (int i = 0; i < str.length; i++) {
// 判断栈中是否存在该页
if (stack1.contains(str[i])) {
// 移除该页
stack1.remove(stack1.indexOf(str[i]));
} else {
count++;// 缺页数加1
}
if (stack1.size() == 5) {
//移除栈底元素
stack1.remove(0);
//将刚访问的页放入栈顶
stack1.push(str[i]);
} else {
//将刚访问的页放入栈顶
stack1.push(str[i]);
}
StringBuffer str1 = new StringBuffer(stack1.toString()).reverse();
//System.out.println(str1);
System.out.println(str1.substring(1, str1.length() - 1));
}
System.out.println("缺页率为" + (double) count / (double) str.length);
}
}