#include <stdio.h>
#define n 20
#define m 4
int main()
{
int ym[n],i,j,q,mem[m]={0},table[m][n];
char flag,f[n];
printf("请输入页面访问序列。\n");
for(i=0;i<n;i++)
{
scanf("%d",&ym[i]);
}
printf("\n");
for(i=0;i<n;i++)
{
q=0;
while((ym[i]!=mem[q])&&(q!=m))q++;
if(q==m)flag='*';
else flag=' ';
if(flag=='*')
{
for(j=m-1;j>0;j--)
{
mem[j]=mem[j-1];
mem[0]=ym[i];
}
for(j=0;j<m;j++)
talbe[j][i]=mem[j];
f[i]=flag;
}
}
printf("输出结构为下表(0代表空,×代表有缺页):\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%3d",table[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
{
printf("%3c",f[i]);
}
return 0;
}
FIFO页面置换算法
最新推荐文章于 2023-12-20 20:31:50 发布