页面置换算法(FIFO,LRU,最佳,Clock) #include<iostream> using namespace std; void Print(int bc[],int blockCount) { for(int i=0;i<blockCount;i++) { cout<<bc[i]<<" "; } cout<<endl; } bool Travel(int bc[],int blockCount,int x) { bool is_found=false; int i; for(i=0;i<blockCount;i++) { if(bc[i]==x) { is_found=true; break; } } return is_found; } void FIFO(int pc[],int bc[],int pageCount,int blockCount) { cout<<"0:FIFO置换算法"<<endl; int i; if(pageCount<=blockCount) { cout<<"缺页次数为"<<0<<endl; cout<<"缺页率为"<<0<<endl; } else { int noPage=0; int p=0; for(i=0;i<pageCount;i++) { cout<<"引用页:"<<pc[i]<<endl; if(!Travel(bc,blockCount,pc[i])) { if(i<blockCount) { bc[i]=pc[i]; } else { if(p==blockCount) { p=0; } bc[p]=pc[i]; p++; } noPage++; cout<<"物理快情况:"; Print(bc,blockCount); } cout<<endl; } cout<<"缺页次数为:"<<noPage<