#include<stdlib.h>
#include<time.h>
#include <iostream>
#define Bsize 3 //页面块数
#define Psize 20
using namespace std;
struct pageInfor
{
int ID; //页面号
int visit; //被访问标记
};
pageInfor * block; //物理块
pageInfor * page; //页面号串
class SWM
{
private:
int i;
int count;
public:
//置初值
void BlockClear()
{
for(int i=0; i<Bsize; i++)
{
block[i].ID = -1;
block[i].visit = 0;
}
}
//初始化
void inital()
{
int QString[Psize]={0};
srand(time(0));
for(int i=0;i<20;i++)
{
QString[i]=rand()%10;
printf("%d",QString[i]);
}
cout<<endl;
block = new pageInfor[Bsize];
BlockClear();
page = new pageInfor[Psize];
for(i=0; i<Psize; i++)
{
page[i].ID = QString[i];
page[i].visit = 0;
}
}
//查找是否有空闲内存
int findSpace()
{
for(int i=0; i<Bsize; i++)
if(block[i].ID == -1)
return i;//找到空闲内存,返回BLOCK中位置
return -1;
}
//查找内存中是否有该页面
int findExist(int curpage)