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

  • 大小: 95KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-18
  • 語言: 其他
  • 標簽: code??

資源簡介

包括實驗題目,代碼及運行結果 實驗5 內存管理(2學時) 一、實驗目的 通過實驗加強對內存管理方法的理解和掌握。 二、實驗內容 編寫程序實現采用可變分區方法管理內存。 三、實驗要求 1、在該實驗中,采用可變分區方式完成對存儲空間的管理(即存儲空間的分配與回收工作)。 2、設計用來記錄主存使用情況的數據結構:已分區表和空閑分區表或鏈表。 3、在設計好的數據結構上設計一個主存分配算法(循環首次適應算法)。 4、在設計好的數據結構上設計一個主存回收算法。其中,若回收的分區有上鄰空閑分區和(或)下鄰空閑分區,要求合并為一個空閑分區登記在空閑分區表的一個表項里。 5、(附加)若需要可以實現程序的浮動,對內存空間進行緊湊。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
using?namespace?std;

/***?空閑鏈?***/
struct?Block{
????Block*?fro;?//?前向指針
????Block*?nex;?//?后向指針
????int?sta_add;?//?起始地址
????int?sz;?//?空閑塊大小
????bool?state;?//?分配狀態?1表示已經分配?0表示空閑
????char?name[10];?//?占用分區作業名稱
}*block*first*p;?//?block:?分區塊遍歷變量?first:?分區首地址?p:?下一個開始遍歷的分區塊地址
int?n;?//?空閑塊數
/***?作業?***/
struct?Work{
????char?name[10];?//?作業名稱
????int?sz;?//?作業大小
????Block*?add;?//?分區塊的地址
????int?block_sz;?//?分區塊的大小
????bool?finish;?//?作業完成狀態?1表示已完成,0表示未完成
}work[100];
int?id?=?0;?//?作業數量

void?input(){
????cout?<????cin?>>?n;
????Block*?fro;
????int?now?=?0;?//?起始地址
????for(int?i=0;?i????????cout?<????????int?sz;?cin?>>?sz;
????????block?=?new?Block();
????????block->state?=?0;
????????block->sz?=?sz;
????????block->sta_add?=?now;
????????now?=?now+sz;
????????strcpy(block->name“NULL“);
????????if(i?==?0)?first?=?block;
????????else?block->fro?=?frofro->nex?=?block;
????????fro?=?block;
????}
????block->nex?=?first;
????p?=?first;
}

bool?allocation(int?id){
????cout?<????char?name[10];?int?sz;
????cin?>>?name?>>?sz;
????block?=?p;
????for(int?t=0;?t????????if(block->state?==?1)?{?block?=?block->nex;?continue;}
????????if(block->sz?>=?sz){
????????????cout?<????????????block->state?=?1;
????????????strcpy(block->namename);
????????????work[id].block_sz?=?block->sz;
????????????strcpy(work[id].namename);
????????????work[id].add?=?block;
????????????work[id].sz?=?sz;
????????????p?=?block->nex;
????????????return?1;
????????}
????????block?=?block->nex;
????}
????cout?<????return?0;
}

void?pback(){
????cout?<????char?name[10];?cin?>>?name;
????bool?flag?=?0;
????for(int?i=0;?i????????if(strcmp(work[i].namename)==0?&&?work[i].finish==0){
????????????block?=?work[i].add;
????????????strcpy(block->name“NULL“);
????????????block->state?=?0;
????????????work[i].finish?=?1;
????????????flag?=?1;
????????????break;
????????}
????}
????if(flag?==?0)?{?cout<<“沒有該作業!\n“;?return?;}
????Block*?fro*?nex;
????nex?=?block->nex;
????if(block?==?first){
????????if(n?==?1)?{
????????????cout?<????????????return?;
????????}
????????if(nex->state?==?0){
????????????block->nex?=?nex->nex;
????????????nex->nex->fro?=?block;
????????????block->sz?=?block->sz+nex->sz;
????????????if(p?==?nex)?p?=?nex->nex;
????????????delete?nex;
????????}
????}else?if(block->nex?==?first){
????????fro?=?block->fro;
????????if(fro->state?==?0){
????????????fro->nex?=?block->nex;
????????????fro->sz?=?fro->sz+block->sz;
????????????if(p?==?block)?p?=?block->nex;
????????????delete?block;
????????}
????}else{
????????fro?=?block->fro;
????????nex?=?block->nex;
????????if(fro->state==0?&&?nex->state==0){
????????????fro->nex?=?nex->nex;
???????????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5060??2018-05-23?21:14??main.cpp
?????文件???????30208??2018-05-23?15:16??實驗題目5.doc
?????文件???????97390??2018-05-23?21:13??新建?Microsoft?Word?文檔.docx

評論

共有 條評論