xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

(1)用C語(yǔ)言分別實(shí)現(xiàn)采用首次適應(yīng)算法和最佳適應(yīng)算法的動(dòng)態(tài)分區(qū)分配過(guò)程alloc( )和回收過(guò)程free( )。其中,空閑分區(qū)通過(guò)空閑分區(qū)鏈來(lái)管理:在進(jìn)行內(nèi)存分配時(shí),系統(tǒng)優(yōu)先使用空閑區(qū)低端的空間。 (2)假設(shè)初始狀態(tài)下,可用的內(nèi)存空間為640KB,并有下列的請(qǐng)求序列: ?作業(yè)1申請(qǐng)130KB。 ?作業(yè)2申請(qǐng)60KB。 ?作業(yè)3申請(qǐng)100KB。 ?作業(yè)2釋放60KB。 ?作業(yè)4申請(qǐng)200KB。 ?作業(yè)3釋放100KB。 ?作業(yè)1釋放130KB。 ?作業(yè)5申請(qǐng)140KB。 ?作業(yè)6申請(qǐng)60KB。 ?作業(yè)7申請(qǐng)50KB。 ?作業(yè)6釋放60KB。 請(qǐng)分別采用首次適應(yīng)算法和最佳適應(yīng)算法,對(duì)內(nèi)存塊進(jìn)行分配和回收,要求每次分配和回收后顯示出空閑分區(qū)鏈的情況。

資源截圖

代碼片段和文件信息


//新建名為zcfp?的win32?console?application工程
//選擇菜單項(xiàng)Project->Add?to?Project->File,在其中編輯好源文件并保存
//通過(guò)調(diào)用菜單項(xiàng)Build->Rebuild?all進(jìn)行編輯連接,可以在指定的工程目錄
//下得到debug->zcfp.exe程序,然后把測(cè)試文件input.txt文件保存到debug目錄下,
//就可以在控制臺(tái)進(jìn)入該debug目錄運(yùn)行程序

#include?“stdio.h“
#include?“iostream.h“
#include?“string.h“
#include?“iomanip.h“

const?int?MAXJOB=100;// 定義表的最大記錄數(shù)
typedef?struct?node?{
?int?start;
?int?size;
?char?tag[20];
}job;
job?frees[MAXJOB];//定義空閑區(qū)表?
int?free_quantity;
job?occupys[MAXJOB];//定義已分配區(qū)表
int?occupy_quantity;


//初始化函數(shù)
void?initial()
{
int?i;
for(i=0;i{
frees[i].start=-1;
frees[i].size=0;
strcpy(frees[i].tag“free“);
occupys[i].start=-1;
occupys[i].size=0;
strcpy(occupys[i].tag“?“);
}
free_quantity=0;
occupy_quantity=0;
}


//讀數(shù)據(jù)函數(shù)
int?readData()
{
FILE?*fp;
char?fname[20];
cout<<“請(qǐng)輸入初始空閑表文件名:“;
cin>>fname;
if((fp=fopen(fname“r“))==NULL)
{
cout<<“錯(cuò)誤,文件打不開(kāi),請(qǐng)檢查文件名“< }
else
{
while(!feof(fp))
{
fscanf(fp“%d%d“&frees[free_quantity].start&frees[free_quantity].size);
free_quantity++;
}
return?1;
}
return?0;
}

?
//sort
void?sort()
{
int?ijp;
for(i=0;i {
p=i;
for(j=i+1;j {
if(frees[j].start {
p=j;
}
}
if(p!=i)
{
frees[free_quantity]=frees[i];
frees[i]=frees[p];
frees[i]=frees[free_quantity];
}
}
}

// 顯示函數(shù)

void?view()
{
int?i;
cout< cout<<“當(dāng)前空閑表:“< cout<<“起始地址??大小??狀態(tài)“< for(i=0;i {
cout.setf(2);
cout.width(12);
cout< cout.width(10);
cout< cout.width(8);
cout< }

cout< cout<<“當(dāng)前已分配表:“< cout<<“起始地址??大小??占用作業(yè)名“< for(i=0;i {
cout.setf(2);
cout.width(12);
cout< cout.width(10);
cout< cout.width(8);
cout< }
}

//最先適應(yīng)算法

void?earliest()
{
char?job_name[20];
int?job_size;
int?ijflagt;
cout<<“請(qǐng)輸入新申請(qǐng)內(nèi)存空間的作業(yè)名和空間大小:“;
cin>>job_name;
cin>>job_size;?
flag=0;
for(i=0;i<=free_quantity;i++)
{

if(frees[i].size>=job_size)
{
flag=1;
}
}
if(flag==0

評(píng)論

共有 條評(píng)論

相關(guān)資源