📄 lrc.cpp
字号:
#include <iostream.h>
struct LRC
{
int page;
int sign;
int block;
int flag;
char oper;
};
LRC Addr_change(LRC p,int i);
void Replacement(LRC *p,int i,int n);
void main()
{
int i=0;
int n;
int L;
n=10;
LRC P[10];
P[1].page=5;P[1].sign=0;P[1].block=8;P[1].flag=0;P[1].oper='-';
P[2].page=2;P[2].sign=1;P[2].block=9;P[2].flag=0;P[2].oper='*';
P[3].page=1;P[3].sign=1;P[3].block=1;P[3].flag=0;P[3].oper='S';
P[4].page=7;P[4].sign=0;P[4].block=0;P[4].flag=0;P[4].oper='L';
P[5].page=3;P[5].sign=0;P[5].block=0;P[5].flag=0;P[5].oper='-';
P[6].page=2;P[6].sign=1;P[6].block=0;P[6].flag=0;P[6].oper='S';
P[7].page=8;P[7].sign=0;P[7].block=0;P[7].flag=0;P[7].oper='+';
P[8].page=6;P[8].sign=0;P[8].block=0;P[8].flag=0;P[8].oper='S';
P[9].page=4;P[9].sign=0;P[9].block=5;P[9].flag=0;P[9].oper='+';
int O1[11],O2[11],O3[11],O4[11];
int m[4];
while(i<n)
{
L=P[i].page;
if(i==0)
{
m[0]=3;m[1]=2;m[2]=1;m[3]=0;
O1[0]=m[0];
O2[0]=m[1];
O3[0]=m[2];
O4[0]=m[3];
}
if(P[i].sign==1)
{
if(i!=0)P[i]=Addr_change(P[i],i);
i++;
}
else
{
if(i!=0)Replacement(P,P[i].page,O4[i-1]);
i++;
}
if(P[i].page==m[3]||P[i].page==m[2]||P[i].page==m[1]||P[i].page==m[0])
{
if(P[i].page==m[3])
{
int temp;
temp=m[0];
m[0]=P[i].page;
m[3]=m[2];
m[2]=m[1];
m[1]=temp;
}
if(P[i].page==m[2])
{
int temp;
temp=m[0];
m[0]=P[i].page;
m[2]=m[1];
m[1]=temp;
}
if(P[i].page==m[1])
{
int temp;
temp=m[0];
m[0]=P[i].page;
m[1]=temp;
}
}
else{
m[3]=m[2];
m[2]=m[1];
m[1]=m[0];
m[0]=P[i].page;
}
O1[i]=m[0];
O2[i]=m[1];
O3[i]=m[2];
O4[i]=m[3];
}
cout<<endl;
for(i=0;i<n;i++)
{
cout<<O1[i]<<" | ";
}
cout<<endl;
for(i=0;i<n;i++)
{
cout<<O2[i]<<" | ";
}
cout<<endl;
for(i=0;i<n;i++)
{
cout<<O3[i]<<" | ";
}
cout<<endl;
for(i=0;i<n;i++)
{
cout<<O4[i]<<" | ";
}
cout<<endl;
}
LRC Addr_change(LRC P,int i)
{
if(P.oper=='S')
P.flag=1;
cout<<"Address is: "<<P.block<<"*Block Lenth+Unit Number"<<endl;
return P;
}
void Replacement(LRC *P,int i,int n)
{
int j;
j=i;
if(P[j].sign==0)
cout<<"out j "<<"j is page "<<n<<endl;
cout<<"in L "<<"j is page"<<j<<endl;
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -