磁盤調度算法代碼_第1頁
磁盤調度算法代碼_第2頁
磁盤調度算法代碼_第3頁
磁盤調度算法代碼_第4頁
磁盤調度算法代碼_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、#include #include #include typedef struct nodeint data;struct node *next;Node;void main()void fcfs(Node *,int,int);/ 聲明先來先服務函數(shù)FCFSvoid sstf(Node *,int,int);/聲明最短尋道時間優(yōu)先函數(shù)SSTFvoid scan(Node *,int,int);/ 聲明掃描函數(shù) SCANvoid print(Node *);/ 輸出鏈表函數(shù)Node *head,*p,*q;/ 建立一個鏈表int it,c=0,f,s;/c為鏈表長度,臾開始的磁道號s是選擇哪個

2、算法head=(Node *)malloc sizeof(Node);head-next=NULL;q=head;cout/* 磁盤調度算法*/endl;coutcoutendl;coutit;while(it!=0)p=(Node*)malloc(sizeof(Node);p-next=NULL;p-data=it;q-next=p;q=p;cinit;c+;coutf;print(head);cout 鏈表長度為:cendl;cout1、先來先服務算法FCFSendl;cout2、最短尋道時間優(yōu)先算法SSTFendl;cout3、電梯調度算法(掃描算法SCAN)endl;cout0、退出e

3、ndl;couts;while(s!=0)switch(s)case 1:cout,你選擇了:先來先服務算法FCFSendl;fcfs( head,c,f);break;case 2:cout你選擇了:最短尋道時間優(yōu)先算法SSTFendl;sstf( head,c,f);break;case 3:cout你選擇了電梯調度算法(掃描算法SCAN)endl;scan( head,c,f);break;couts;/*/ void fcfs(Node *headint c,int f)/先 來先服務算法 void print(Node *);Node *l;/*m,*n;float num=0;l=

4、head-next;for(int i=0;idata-f);f=l-data;l=l-next;num=num/c;cout 先來先服務的尋道順序是endl;print(head);cout ”平均尋道長度: numnext=NULL;m=l;q=head;p=head-next;s=head;r=head-next;float num=0;for(int i=0;idata);for(int j=0;jnext;q=q-next;if(abs(f-p-data)data);r=p;s=q;num+=abs(f-r-data);f=r-data;s-next=r-next;r-next=NU

5、LL;m-next=r;m=r;q=head;p=head-next;s=head;r=head-next;num=num/c;cout最短尋道時間優(yōu)先順序是endl;print(l);cout ”平均尋道長度: numnext=NULL;s=r;m=(Node *)malloc sizeof(Node);/存 放比開始磁道大的磁道 m-next=NULL;n=m;x=(Node *)malloc(sizeof(Node);x-next=NULL;y=x;q=head;p=head-next;while(p-next!=NULL)if(p-data-f0)q-next=p-next;p-nex

6、t=NULL;n-next=p;n=p;p=q-next;i+;elseq-next=p-next;p-next=NULL;s-next=p;s=p;p=q-next;j+;if(p-data=f)n-next=p;n=p;i+;elses-next=p;s=p;j+;q=r;/對比開始磁道小的磁道排序p=r-next;while(q-next-next!=NULL)q=q-next;p=q-next;max=q-data;while(p-next!=NULL)if(p-datamax)max=p-data;p-data=q-data;q-data=max;max=q-data;p=p-nex

7、t;if(p-datamax)max=p-data;p-data=q-data;q-data=max;max=q-data;/print(r);q=m;p=m-next;q=q-next;p=q-next;min=q-data;while(p-next!=NULL)if(p-datadata;p-data=q-data;q-data=min;min=q-data;p=p-next;if(p-datadata;p-data=q-data;q-data=min;min=q-data;/print(m);x=m;p-next=r-next;y=x-next;while(y-next!=NULL)num+=abs(f-y-data);f=y-data;y=y-next;num+=abs(f-y-data);num=num/c;cout掃描算法的順序是endl;print(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論