30/09/2018, 19:45
Em ko hiểu 1 code về thuật toán LRU ạ , mog các pro chỉ giúp ạ
các bác xem cái dòng 42 ý , (dòng có vòng for dài dài ý ) sao lại có biến l nhỉ @ , em ko thấy nó dùng mà , sao họ lại cho vào làm gì ạ
#include<stdio.h>
#include<conio.h>
int fr[3];
void main()
{
void display();
int p[12]={2,3,2,1,5,2,4,5,3,2,5,2},i,j,fs[3];
int index,k,l,flag1=0,flag2=0,pf=0,frsize=3;
clrscr();
for(i=0;i<3;i++)
{
fr[i]=-1;
}
for(j=0;j<12;j++)
{
flag1=0,flag2=0;
for(i=0;i<3;i++)
{
if(fr[i]==p[j])
{
flag1=1;
flag2=1;
break;
}
}
if(flag1==0)
{
for(i=0;i<3;i++)
{
if(fr[i]==-1)
{
fr[i]=p[j];
flag2=1;
break;
}
}
}
if(flag2==0)
{
for(i=0;i<3;i++)
fs[i]=0;
for(k=j-1,l=1;l<=frsize-1;l++,k--)
{
for(i=0;i<3;i++)
{
if(fr[i]==p[k])
fs[i]=1;
}
}
for(i=0;i<3;i++)
{
if(fs[i]==0)
index=i;
}
fr[index]=p[j];
pf++;
}
display();
}
printf("
no of page faults :%d",pf);
getch();
}
void display()
{
int i;
printf("
");
for(i=0;i<3;i++)
printf(" %d",fr[i]);
}
Bài liên quan
code nhìn rắc rối quá, k phải code lằng nhằng như hacker là chuyên nghiệp đâu, code tốt là phải dễ đọc dễ hiểu
Hacker họ càng code đơn giản
http://www.cplusplus.com/forum/beginner/59662/