📄 test5.cpp
字号:
#include "stdafx.h"
#include <iostream.h>
typedef char Datatype;
#include "SeqQueue.h"
#include "LRU.h"
#include "nur.h"
void Nur();
void FIFO();
void Lru();
void main()
{
int x=0;
cout<<"请输入你要选择的算法:(1、FIFO 2、LRU 3、NUR 其它按键:退出)"<<endl;
cin>>x;
switch (x)
{
case 1:FIFO(); break;
case 2:Lru();break;
case 3:Nur();break;
default:break;
}
}
////////////////////////////先进先出///////////////////////
void FIFO()
{
float b;
int i,j;
char arr[]={'1','1','2','3','4','5','6','7','8','9','0','2','2','5','3','3','6','9','0','0'};
i=0;
j=0;
cout<<"先进先出算法:"<<arr<<endl;
/*cout<<"输入二十个要调度的页面号(个位数、可重复)"<<endl;
//cin>>arr;*/
SeqQueue sql;
for(i=0;i<20;i++)
{
sql.QInsert(arr[i]);
sql.Getitem();
}
cout<<"命中数为:"<<mzs<<endl;
b=mzs;
b=b/20;
cout<<"命中率为:"<<b<<endl;
}
////////////////////////////////////////////////////////////
/////////////////////////////////////最近少使用///////////////////
void Lru()
{
float b;
int i;
char arr[]={'1','1','2','3','4','5','6','7','8','9','0','2','2','5','3','3','6','9','0','0'};
i=0;
LRU lru;
cout<<"最近最少使用算法:"<<arr<<endl;
for(i=0;i<20;i++)
{
lru.LRUInsert(arr[i]);
lru.Getitem();
}
cout<<"命中数为:"<<mzs2<<endl;
b=mzs2;
b=b/20;
cout<<"命中率为:"<<b<<endl;
}
/////////////////////////////////最少访问页面算法/////////////////////////
void Nur()
{
float b;
int i,mzs3,j,pttemp;
int temp;
int arr2[20] = {1,1,2,3,4,5,6,8,4,2,1,3,3,3,6,7,9,9,3,2};
static int pt[10]={0};
i=0;
j=0;
mzs3=0;
NUR nur;
for(i=0;i<20;i++)
{
temp=arr2[i];
nur.Insert(temp,pt);
nur.GetData(pt);
if(((i+1)%5)==0) //////////系统每五个周期就清零/////////
{
cout<<"清零"<<endl;
cout<<"*************"<<endl;
for(j=0;j<10;j++)
{
pt[j]=0;
}
}
}
cout<<"命中数为:"<<mz<<endl;
b=mz;
b=b/20;
cout<<"命中率为:"<<b<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -