资源简介
操作系统页面置换算法中的FIFO算法,这个是用java代码实现的,纯代码,经验证是完全正确的。
代码片段和文件信息
import java.util.linkedList;
import java.util.List;
import java.util.Scanner;
public class FIFO {
static int volum;//栈的容量
static Listlist=new linkedList();
static int visit[];//要访问的页面
static int count=0;//记录页面置换的次数
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
System.out.print(“请输入栈的容量:“);
volum=sc.nextInt();
System.out.println(“请输入页面总数:“);
int number=sc.nextInt();
visit=new int[number];
System.out.println(“请输入各个页面号:“);
for(int i=0;i visit[i]=sc.nextInt();
sFIFO();
System.out.println(“置换次数为:“+count);
}
public static void sFIFO()
{
int index=0;
while(index {
boolean flag=false;
if(list.size()<=volum)
{
for(int i=0;i {
if(list.get(i).id==visit[index])
{//若已经存在,直接返回看下一个
for(int j=0;j {
int te=list.get(j).count;
list.get(j).setCount(te+1);
}
flag=true;
break;
}
}
if(!flag)
{
if(list.size()==volum)
{//如果满了,只能置换页面了
int old=list.get(0).count;
int temp=0;//暂存最老页面编号
//寻找最老的页面
for(int j=1;j
评论
共有 条评论