資源簡介
LRU算法c語言實現,采用了堆棧,簡潔,明了,思路清晰
代碼片段和文件信息
#define?MAXSIZE?15
#include?
#include??
void?main()
{
int?input=0;?//用于輸入作業號
int?worknum=0;?//輸入的作業個數
int?storesize=0;?//系統分配的存儲區塊數
int?interrupt=0;?//缺頁中斷次數
int?stack[MAXSIZE];?//棧,LRU算法的主要數據結構
int?workstep[MAXSIZE];?//記錄作業走向
/*初始化*/
for(int?i=0;i {
stack[i]=0;
workstep[i]=0;
}
printf(“請輸入存儲區塊數:“);
scanf(“%d“&storesize);
printf(“請輸入作業的頁面走向(輸入0結束):\n“);
for(int?j=0;j {
printf(“頁面號%d?“j+1);
scanf(“%d“&input);
workstep[j]=input;
if(input==0)
{
printf(“輸入結束!\n“);
break;
}
worknum++;
}
if(workstep[0]==0)
{
printf(“未輸入任何作業,系統將退出!\n“);
return;
}
printf(“置換情況如下:\n“);
for(int?k=0;k {
/*在棧中找相等的頁號或空位置*/
for(int?l=0;l {
/*是否有相等的頁號*/
if(stack[l]
- 上一篇:FSM有限狀態機編程
- 下一篇:簡單的極大極小算法實現的井字棋程序
評論
共有 條評論