LRU算法C语言实现

LRU算法C语言实现
预览:

for(i=0;i<M;i++)

{

if(r==b[i].num) return i; }

return -1;

}

void L(int r,Page *b)

{

int i;

int val;

val=Equation(r,b);

if(val>=0)

{

b[val].time=0;

for(i=0;i<M;i++)

if(i!=val)

b[i].time++; }

else

{

q[++K]=r; //调入页面 val=Max(b);

b[val].num=r;

b[val].time=0;

for(i=0;i<M;i++)

if(i!=val) b[i].time++; }

}

void main()

{

int a[N]={2,3,2,1,5,2,4,5,3,2,5,2}; int i,j;

K=-1;

Init(b,c);

for(i=0;i<N;i++)

{

L(a[i],b);

c[0][i]=a[i];

for(j=0;j<M;j++)

c[j][i]=b[j].num; }

printf("内存状态为:\n"); for(j=0;j<N;j++)

printf("%2d ",a[j]); printf("\n");

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

{

if(c[i][j]==-1)

printf("%2c ",32);

第2页/共3页 <上一页下一页>

寻找更多 "LRU算法C语言实现"