欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    SSTF算法或SCAN算法.docx

    • 资源ID:3166307       资源大小:37.58KB        全文页数:7页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SSTF算法或SCAN算法.docx

    SSTF算法或SCAN算法SSTF算法或SCAN算法.txt心是自己的,干嘛总被别人伤.没有伞的孩子必须努力奔跑敷衍旳青春 总昰想太多 怨,只怨现实太现实为什么在一起要两个人的同意丶而分手只需要一个人 #include<stdio.h> #include<math.h> #define MAXSIZE 100 #include<stdlib.h> #include<time.h> typedef struct node int num;/磁盘号 int flag;/用于标记是否已经服务过 Disk; /Disk seqMAXSIZE 55,0,58,0,39,0,18,0,90,0,160,0,150,0,38,0,184,0; Disk seqMAXSIZE; int size = 9,currentNum = 100; int sum1 = 0; int sum2 = 0; void Init(int size,Disk seqMAXSIZE)/磁道号的个数 int i; srand(time(NULL); for(i = 0; i<size; i+) seqi.num = rand%199;/产生0到199之间的数字 / scanf("%d",&seqi.num); /seqi.num = i*4 ; seqi.flag = 0; void FCFS(int size,Disk seqMAXSIZE)/此参数为请求的入口 int i; for(i = 0; i<size; i+) printf("访问的序列号%dn",seqi.num); int FindShortest(int size,int currentNum,Disk seqMAXSIZE) int i,pos1,pos2,min,flag = 0; for(i = 0; i<size; i+) = if(seqi.flag = 0 && seqi.num != currentNum) min = abs(seqi.num - currentNum); pos1 = i; break; for(i = 0; i<size; i+) if(!seqi.flag && min > abs(seqi.num - currentNum) flag = 1; min = abs(seqi.num - currentNum); pos2 = i; sum1 += min; if(flag) seqpos2.flag = 1; return pos2; else seqpos1.flag = 1; return pos1; int SSTF(int size,int start,Disk seqMAXSIZE)/start为开始序列号 int i,pos;/pos为最短那个序列号的位置 /pos = FindShortest(size); printf("访问的序列号:n"); for(i = 0; i<size; i+) pos = FindShortest(size,currentNum,seq); /printf("%d: ",currentNum); /sum += currentNum; currentNum = seqpos.num; printf("%d ",seqpos.num); return 1; int flagDirection(int size,int currentNum,Disk seqMAXSIZE)/此函数用于判断磁头的移动方向 int pos,i,flag = 0; for(i = 0; i<size; i+) if(seqi.num > currentNum && seqi.flag = 0) flag = 1; pos = i; break; return flag; int FindShortest2(int size,int currentNum,int status,Disk seqMAXSIZE)/status 1(由内像外)0 int i,pos1,pos2,min,flag = 0; for(i = 0; i<size; i+) if(status = 1) if(seqi.flag = 0 && seqi.num != currentNum && seqi.num > currentNum) min = abs(seqi.num - currentNum); pos1 = i; break; else if(seqi.flag = 0 && seqi.num != currentNum && seqi.num < currentNum) min = abs(seqi.num - currentNum); pos1 = i; break; for(i = 0; i<size; i+) if(status = 1) if(!seqi.flag && min > abs(seqi.num - currentNum) && seqi.num > currentNum) flag = 1; min = abs(seqi.num - currentNum); pos2 = i; else if(!seqi.flag && min > abs(seqi.num - currentNum) && seqi.num < currentNum) flag = 1; min = abs(seqi.num - currentNum); pos2 = i; /printf("%d ",min); sum2 += min; /printf("n"); /printf("%d ",sum2); if(flag) seqpos2.flag = 1; return pos2; else seqpos1.flag = 1; return pos1; void SCAN(int size,int currentNum,Disk seqMAXSIZE) int status,pos; int i; for(i = 0; i<size; i+) status = flagDirection(size,currentNum,seq); pos = FindShortest2(size,currentNum,status,seq); currentNum = seqpos.num; printf("%d ",currentNum); int main Disk seqMAXSIZE; int i; Init(size,seq); for(i = 0; i<size; i+) printf("%d ",seqi.num); printf("n"); /FCFS(10); SSTF(size,currentNum,seq); printf("平均寻道长度%.1fn",(float)(sum1/9.0); printf("n"); /printf("%dn",sum1); for(i = 0; i<size;i+) seqi.flag = 0; SCAN(size,currentNum,seq); /printf("%d n",sum2); printf("平均寻道长度%.1fn",(float)(sum2/9.0); return 0;

    注意事项

    本文(SSTF算法或SCAN算法.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开