m<<endl;Р }Р if(z=='l') //LRU页面置换Р {Р y=0;//记录缺页数Р cout<<"页面置换情况:"<<endl;Р while(i<x)Р {Р int k;Р k=t=Search(p[i].num,page);Р if(t>=0)Р page[t].time=0;Р elseР {Р y++;Р t=Max(page);Р page[t].num=p[i].num;Р page[t].time=0;Р }Р if(t==0){page[t+1].time++;page[t+2].time++;}Р if(t==1){page[2].time++;page[0].time++;}Р if(t==2){page[1].time++;page[0].time++;}Р if(k==-1) print(page);Р i++;Р }Р cout<<"缺页次数:"<<n<<" 缺页率:"<<y/x<<endl;Р }Р if(z=='o')//OPT页面置换Р {Р y=0;//记录缺页数Р while(i<x)Р {Р if(Search(p[i].num,page)>=0)i++;Р elseР {Р int temp=;Р for(t=0;t<Y;t++)//查找下次访问距离最远的那个页面Р {Р if(pfu(page,i,t,p))Р {Р pfu(page,i,t,p);Р cn=t;Р }Р }Р ]=p[i];Р n++;Р print(page);Р i++;Р }Р }Р cout<<"缺页次数:"<<y<<" 缺页率:"<<y/z<<endl;Р }?Р?}Р?while(c=='f'||c=='l'||c=='o');Р?return 0;Р}Р图1 主函数流程图Р六、运行结果Р图2 FIFO运行结果Р图3 LRU运行结果