動態(tài)分區(qū)分配最佳最壞適應(yīng)算法

動態(tài)分區(qū)分配最佳最壞適應(yīng)算法

ID:34745996

大小:497.68 KB

頁數(shù):16頁

時間:2019-03-10

動態(tài)分區(qū)分配最佳最壞適應(yīng)算法_第1頁
動態(tài)分區(qū)分配最佳最壞適應(yīng)算法_第2頁
動態(tài)分區(qū)分配最佳最壞適應(yīng)算法_第3頁
動態(tài)分區(qū)分配最佳最壞適應(yīng)算法_第4頁
動態(tài)分區(qū)分配最佳最壞適應(yīng)算法_第5頁
資源描述:

《動態(tài)分區(qū)分配最佳最壞適應(yīng)算法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、我偉大的母校課程設(shè)計報告書實踐課題:動態(tài)分區(qū)分配姓名:路人甲學(xué)號:20XXXXXX指導(dǎo)老師:路人乙學(xué)院:計算及科學(xué)與技術(shù)學(xué)院課程設(shè)計實踐時間2013.3.11~2013.3.22一.課程設(shè)計的目的:二.設(shè)計內(nèi)容:三.設(shè)計要求:四.程序流程圖AllocBest_fitWorst_fitFreeShowMain五.源代碼#include#include#include#defineFree0//空閑狀態(tài)#defineBusy1//已用狀態(tài)#defineOK1//完成#defineERROR0//出錯#defineMAX_lengt

2、h100//最大內(nèi)存空間為100MtypedefintStatus;intflag;//標(biāo)志typedefstructfreearea//定義一個空閑區(qū)說明表結(jié)構(gòu){longsize;//分區(qū)大小longaddress;//分區(qū)地址intstate;//狀態(tài)}ElemType;//元素類型//線性表的雙向鏈表存儲結(jié)構(gòu)typedefstructDuLNode//結(jié)構(gòu)指針{ElemTypedata;structDuLNode*prior;//前趨指針structDuLNode*next;//后繼指針}DuLNode,*DuLinkList;//指針鏈表DuLinkListblock_first

3、;//頭結(jié)點DuLinkListblock_last;//尾結(jié)點Statusalloc(int);//內(nèi)存分配Statusfree(int);//內(nèi)存回收StatusBest_fit(int);//最佳適應(yīng)算法StatusWorst_fit(int);//最差適應(yīng)算法voidshow();//查看分配StatusInitblock();//開創(chuàng)空間表StatusInitblock()//開創(chuàng)帶頭結(jié)點的內(nèi)存空間鏈表{block_first=(DuLinkList)malloc(sizeof(DuLNode));block_last=(DuLinkList)malloc(sizeof(DuL

4、Node));block_first->prior=NULL;block_first->next=block_last;block_last->prior=block_first;block_last->next=NULL;block_last->data.address=0;block_last->data.size=MAX_length;block_last->data.state=Free;returnOK;}//分配主存Statusalloc(intch){intrequest=0;cout<<"請輸入需要分配的主存大小(單位:M):";cin>>request;if(reque

5、st<0

6、

7、request==0){cout<<"分配大小不合適,請重試!"<

8、uest){intch;//記錄最小剩余空間DuLinkListtemp=(DuLinkList)malloc(sizeof(DuLNode));//申請內(nèi)存空間temp->data.size=request;temp->data.state=Busy;DuLNode*p=block_first->next;DuLNode*q=NULL;//記錄最佳插入位置while(p)//初始化最小空間和最佳位置{if(p->data.state==Free&&(p->data.size>=request)){if(q==NULL){q=p;ch=p->data.size-request;}else

9、if(q->data.size>p->data.size){q=p;ch=p->data.size-request;}}p=p->next;}if(q==NULL)returnERROR;//沒有找到空閑塊elseif(q->data.size==request){q->data.state=Busy;returnOK;}else{temp->prior=q->prior;temp->next=q;temp->data.addres

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。