91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-23
  • 語言: C/C++
  • 標簽: OPT??NUR??

資源簡介

第一個輸入的為頁面數,不是內存中頁面,失蹤的頁面,內存中的頁面在宏定義中設置 第二個輸入的是頁面執行的順序,以0結束

資源截圖

代碼片段和文件信息

#include“stdio.h“
#include“stdlib.h“
#define?ap?4
#define?CLEAR_PERIOD?4
#define?max?100
struct?zhan?????//處理頁數順序的棧
{
int?i;
int?j;???????//狀態項,用于最近沒有使用頁面的替換選擇
zhan?*next;
}*ap_top*ap_tail;

zhan?*mem_zhan[ap];//數組表示內存頁實現處理的頁棧

void?shuru()???//輸入函數實現,實現頁面數和執行順序的存取
{
????int?m=1;
int?ap_num;???//頁面數量
zhan?*t;
printf(“please?input?the?ap‘s?number?of?storage:“);
scanf(“%i“&ap_num);
ap_tail=(zhan?*)malloc(sizeof(zhan));
printf(“please?input?the?turn?of?the?ap:(end?by?‘0‘)\n“);
????do{?
????????if(m==1)
ap_top=ap_tail;
????scanf(“%d“&ap_tail->i);
?if(ap_tail->i==0)
{ap_tail->next=NULL;break;
?}
????if(ap_tail->i<0||ap_tail->i>ap_num)//輸入判錯處理
??do{
?printf(“your?inpution?is?wrong!continue~~\n“);
?????scanf(“%d“&ap_tail->i);
?if(ap_tail->i==0)
?{ap_tail->next=NULL;
?break;}
??}while(ap_tail->i<0||ap_tail->i>ap_num);
????????t=(zhan?*)malloc(sizeof(zhan));
ap_tail->next=t;//建立鏈表
ap_tail=t;
m++;
}while(ap_tail->i!=0);
}

void?shuchu()//出數內存頁面的圖表表示
{
zhan?*p;
int?m=0;
int?n;
while(mp=mem_zhan[m];
m++;
n=1;
do{
if(n==1)
printf(“內存頁%d號**%d?“mp->i);
else
printf(“*%d?“p->i);
n++;
p=p->next;
}while(p->next!=NULL);
printf(“\n“);
}
};


//====================算法實現的公共函數部分============================
int?mingzhong(zhan?*p[ap]zhan?*jt)//命中函數
{
int?m;
for(m=0;m if(p[m]->i==jt->i)
{???p[m]->j=max;
???return?1;
???break;
}

?????return?0;
}

//=====================最近沒有使用頁面淘汰算法NUR實現===============
void?suanfa1()
{
int?n;
int?m;
int?l;
zhan?*p;
zhan?*top[ap]*tail[ap];
p=ap_top;
for(m=0;m{
mem_zhan[m]=(zhan?*)malloc(sizeof(zhan));
mem_zhan[m]->i=0;mem_zhan[m]->j=0;
tail[m]=top[m]=mem_zhan[m];
}
do{
for(n=1;n<=CLEAR_PERIOD;n++)//周期循環
{
//命中處理
if(mingzhong(&tail[ap]p)==1)
{
for(m=0;m {
tail[m]=(zhan?*)malloc(sizeof(zhan));
????tail[m]->i=top[m]->i;
tail[m]->j=top[m]->j;
top[m]->next=tail[m];
top[m]=tail[m];
if(m==ap-1)
if(top[m]->j==max)
for(m=0;m??????????????top[m]->j=0;
if(top[m]->i==p->i)
top[m]->j=max;
}
}
//不中處理
else
{
for(m=0;m {
??if(top[m]->i==0)
??{
??l=1;
??break;
??}
??else
??l=0;
}

if(l==1)
?for(m=0;m ?{
if(top[m]->i==0)
{
top[m]->i=p->i;
????top[m]->j=max;
break;
}
?}
else
?for(m=0;m ?{
if(top[m]->j==0)
{
top[m]->i=p->i;
????top[m]->j=max;
break;
}
?}

????for(m=0;m

評論

共有 條評論