Ò³ÃæÖû»Ë㷨ʵÑ鱨¸æ ÏÂÔØ±¾ÎÄ

6.³ÌÐòÉè¼Æ

struct Pro //ÄÚ´æÒ³µÄ½á¹¹Ìå {

int num£» //¼ÇÂ¼Ò³ÃæºÅ

int time£» //Ò³Ãæ´Óδ±»ÀûÓõÄʱ¼ä };

#define M 320 //¶¨ÒåÖ¸ÁîÌõÊý

Pro P[M]; //²úÉúµÄËæ»úÖ¸ÁîÊý×é

void Input() //²úÉúËæ»úÊý { int s; //Ëæ»úÊý int i;

srand(time(0)); s = rand()%M; //cout<<\Ëæ»ú²úÉúÖ¸ÁîÁ÷------------\\n\ for (i=0; i

p[i].num=s; //ÈÎѡһָÁî·ÃÎʵãm p[i+1].num=p[i].num+1; //˳ÐòÖ´ÐÐÒ»ÌõÖ¸Áî

p[i+2].num=(int)((float)p[i].num*(rand()/(RAND_MAX+1.0))); //Ö´ÐÐǰµØÖ·Ö¸Áîm' p[i+3].num=p[i+2].num+1; //˳ÐòÖ´ÐÐÒ»ÌõÖ¸Áî s=(int)((float)(319-p[i+2].num)*(rand()/(RAND_MAX+1.0))) +

p[i+2].num;

} for(i=0;i

}

int Search(int e,Pro*page1,int N) //²éÕÒÄÚ´æÖÐÊÇ·ñ´æÔÚÒªµ÷ÈëµÄÒ³Ãæ { int t; Pro*page=new Pro[N]; page=page1; for(int i=0;i

6

} return -1; } int Max(Pro*page1,int N) //²éÕÒ×î¾Ã×î¾Ãδ±»Ê¹ÓõÄÒ³Ãæ { Pro*page=new Pro[N]; page=page1; int e=page[0].time,i=0; while(i

}

int Compfu(Pro*page1,int i,int t,Pro p[M]) //ÕÒµ½×î¾Ã²»Ê¹ÓõÄÒ³Ãæ { Pro*page=new Pro[N]; page=page1; int count=0; for(int j=i;j

7.²âÊÔ½á¹û

Ñ¡ÖÐËã·¨£¬ÊäÈëÄÚ´æÊýµã»÷¼ÆËã

7

8

µã»÷ÃüÖÐÂʰ´Å¥

µã»÷Í˳ö°´Å¥

8.½á¹û·ÖÎö

ÀíÂÛÉÏ£¬ËÄÖÖÌæ»»Ëã·¨µÄÃüÖÐÂÊÓɸߵ½µ×ÅÅÁÐÓ¦¸ÃÊÇOPT>LRU>CLOCK>FIFO¡£Êµ¼ÊÉÏ£¬

ÔÚÄÚ´æÒ³ÃæÊý½ÏÉÙ£¨4~5Ò³Ãæ£©Ê±£¬3ÖÖËã·¨µÄÃüÖÐÂʲî±ð²»´ó£¬¿ÉÊÇ50%×óÓÒ¡£ÔÚÄÚ´æÒ³ÃæÎª7~25¸öÒ³ÃæÖ®¼äʱ£¬3ÖÖËã·¨µÄ·ÃÄÚÃüÖÐÂÊ´óÖÂÔÚ52%ÖÁ87%Ö®¼ä±ä»¯¡£ÔÚÄÚ´æÒ³ÃæÎª

9

25~32¸öÒ³ÃæÊ±£¬ÓÉÓÚÓû§½ø³ÌµÄËùÓÐÖ¸Áî»ù±¾É϶¼ÒÑ×°ÈëÄڴ棬´Ó¶øÃüÖÐÂÊÒѽϴ󡣴ӶøËã·¨Ö®¼äµÄ²î±ð²»´ó¡£

9.³ÌÐò´úÂë

// Ò³ÃæÖû»Ë㷨ģÄâÉè¼ÆDlg.cpp : implementation file #include \

#include \Ò³ÃæÖû»Ë㷨ģÄâÉè¼Æ.h\#include \Ò³ÃæÖû»Ë㷨ģÄâÉè¼ÆDlg.h\#ifdef _DEBUG

#define new DEBUG_NEW #undef THIS_FILE

static char THIS_FILE[] = __FILE__; #endif

///////////////////////////////////////////////////////////////////////////// // CMyDlg dialog

CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg::IDD, pParent) {

//{{AFX_DATA_INIT(CMyDlg) m_iFifo = 0; N = 0; MZL = 0.0;

//}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); }

void CMyDlg::DoDataExchange(CDataExchange* pDX) {

CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMyDlg)

DDX_Control(pDX, IDC_EDIT4, m_suiji2); DDX_Control(pDX, IDC_EDIT5, m_yemian); DDX_Control(pDX, IDC_EDIT3, m_suiji); DDX_Radio(pDX, IDC_RADIO1, m_iFifo); DDX_Text(pDX, IDC_EDIT1, N); DDX_Text(pDX, IDC_EDIT2, MZL); //}}AFX_DATA_MAP }

10