-
大小: 4KB文件類型: .java金幣: 1下載: 0 次發(fā)布日期: 2021-05-26
- 語言: Java
- 標(biāo)簽:
資源簡(jiǎn)介
操作系統(tǒng)頁面置換算法中的FIFO算法,這個(gè)是用java代碼實(shí)現(xiàn)的,純代碼,經(jīng)驗(yàn)證是完全正確的。
代碼片段和文件信息
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;//記錄頁面置換的次數(shù)??
??????public?static?void?main(String[]args)??
??????{??
??????????Scanner?sc=new?Scanner(System.in);??
??????????System.out.print(“請(qǐng)輸入棧的容量:“);??
??????????volum=sc.nextInt();??
??????????System.out.println(“請(qǐng)輸入頁面總數(shù):“);??
??????????int?number=sc.nextInt();??
??????????visit=new?int[number];??
??????????System.out.println(“請(qǐng)輸入各個(gè)頁面號(hào):“);??
??????????for(int?i=0;i ??????????????visit[i]=sc.nextInt();??
??????????sFIFO();??
??????????System.out.println(“置換次數(shù)為:“+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])??
??????????????????????{//若已經(jīng)存在,直接返回看下一個(gè)??
??????????????????????????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;//暫存最老頁面編號(hào)??
??????????????????????????//尋找最老的頁面??
?????????????????????????????for(int?j=1;j ??
評(píng)論
共有 條評(píng)論