-
大小: 2KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-11
- 標(biāo)簽: lru.cpp??
資源簡介
LRU算法c語言實(shí)現(xiàn),采用了堆棧,簡潔,明了,思路清晰
代碼片段和文件信息
#define?MAXSIZE?15
#include?
#include??
void?main()
{
int?input=0;?//用于輸入作業(yè)號(hào)
int?worknum=0;?//輸入的作業(yè)個(gè)數(shù)
int?storesize=0;?//系統(tǒng)分配的存儲(chǔ)區(qū)塊數(shù)
int?interrupt=0;?//缺頁中斷次數(shù)
int?stack[MAXSIZE];?//棧,LRU算法的主要數(shù)據(jù)結(jié)構(gòu)
int?workstep[MAXSIZE];?//記錄作業(yè)走向
/*初始化*/
for(int?i=0;i {
stack[i]=0;
workstep[i]=0;
}
printf(“請(qǐng)輸入存儲(chǔ)區(qū)塊數(shù):“);
scanf(“%d“&storesize);
printf(“請(qǐng)輸入作業(yè)的頁面走向(輸入0結(jié)束):\n“);
for(int?j=0;j {
printf(“頁面號(hào)%d?“j+1);
scanf(“%d“&input);
workstep[j]=input;
if(input==0)
{
printf(“輸入結(jié)束!\n“);
break;
}
worknum++;
}
if(workstep[0]==0)
{
printf(“未輸入任何作業(yè),系統(tǒng)將退出!\n“);
return;
}
printf(“置換情況如下:\n“);
for(int?k=0;k {
/*在棧中找相等的頁號(hào)或空位置*/
for(int?l=0;l {
/*是否有相等的頁號(hào)*/
if(stack[l]
評(píng)論
共有 條評(píng)論