int i=0,j=0,count=0,k;
while(i<10) {
for(k=0;k if(b[k]==a[i]) { cout<<\内存中有这个页面,直接访问.\ break; } } // 判断内存中是否有该页面. if(k==m) { if(b[m-1]<0) { b[j]=a[i]; cout< cout<<\产生\次缺页\ j++; j=j%m; } else { count++; cout< }cout< cout<<\共缺页\次 缺页率为:\} ///////---------------LRU算法--------------/////////////// void LRU(int m) { cout<<\ LRU\\n\ int k; int i=0,j=0,count=0; while(i<10) { for(k=0;k if(b[k]==a[i]) { 算法置换 cout<<\内存中有这个页面,直接访问.\ break; } } // 判断内存中是否有该页面. if(k==m) { int temp,t; temp=b[m-1]; for(t=0;t b[0]=a[i]; count++; if(temp==-1) cout< cout< cout< cout<<\共缺页\次 缺页率为:\} int main(int argc, char *argv[]) { int sf,f=1,m,i,j,n; cout<<\请输入内存容量:\ cin>>m; cout<<\请输入页面次序:(\个页面)\ for(i=0;i cin>>n; a[i]=n; } //初始化b[j];使等于-1,表示开始时内存中无页面. while(f) { for(j=0;j b[j]=-1; } cout<<\请输入页面置换算法:1、最佳置换算法 2、先进先出算法 3、最近最久为未使用算法 \ cin>>sf; switch(sf) {case 1:Optimal(m);break; case 2:FIFO(m);break; case 3:LRU(m);break;