磁盘调度算法(3)

2019-04-21 19:55

MoveDistance[i]=TrackOrder[VisitOrder[i-1]]-TrackOrder[k];

++i; } } else{

for(;h>-1;--h){ VisitOrder[i]=h;

MoveDistance[i]=TrackOrder[VisitOrder[i-1]]-TrackOrder[h];

++i; } } }

void scan(){ shunxu(); int k,i; k=1;

int temp;

if(direction){//若向磁道号增加方向访问 for(i=0;i

if(TrackOrder[i]>100){//找到第一个大于开始磁道号的元素

temp=i;

VisitOrder[0]=i;

MoveDistance[0]=TrackOrder[i]-100; break; } } ++i;

while(i

MoveDistance[k]=TrackOrder[VisitOrder[k-1]]-TrackOrder[i];

++i; ++k; }

i=temp-1;//遍历完后,回到刚刚第一个大于开始磁道号的元素的前一个向前遍历

while(i>-1){ VisitOrder[k]=i;

MoveDistance[k]=TrackOrder[VisitOrder[k-1]]-TrackOrder[i];

--i; ++k; } }

else{//若向磁道号减小方向访问 for(i=0;i

if(TrackOrder[i+1]>100){//找到最后一个小于磁道号的元素

temp=i;

VisitOrder[0]=i;

MoveDistance[0]=TrackOrder[i]-100; break; } }

--i;//向前遍历 while(i>-1){ VisitOrder[k]=i;

MoveDistance[k]=TrackOrder[VisitOrder[k-1]]-TrackOrder[i];

--i; ++k; }

i=temp+1;//遍历完后,回到刚刚最后一个小于开始磁道号的元素的后一个向后遍历

while(i

MoveDistance[k]=TrackOrder[VisitOrder[k-1]]-TrackOrder[i];

++i; ++k; } } }

void cscan(){

shunxu(); int k,i; k=1; int temp;

if(direction){//若向磁道号增加方向访问 for(i=0;i

if(TrackOrder[i]>100){//找到第一个大于开始磁道号的元素

temp=i;

VisitOrder[0]=i;

MoveDistance[0]=TrackOrder[i]-100; break; } } ++i;

while(i

MoveDistance[k]=TrackOrder[VisitOrder[k-1]]-TrackOrder[i];

++i; ++k;


磁盘调度算法(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013广东省县级以上公务员面试真题解析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: