}
}
Mnow=Sstf[j];
else {
while(r cout< } cout< cout<<\对应移动距离(磁道数): \for(i=0;i cout< avg=(float)sum/N; } } } Mnow=Sstf[N-1]; for(j=1;j>=0;j--) { } cout< sum+=Mnow-Sstf[j]; Mnow=Sstf[j]; sum+=Sstf[r]-Mnow; Mnow=Sstf[r]; r=r+1; } cout<<\总寻道长度:\ cout<<\平均寻道长度:\ void SCAN() { int i,j; int k=1; int s=0; int temp; int c,l,r; int sum=0; float avg=0; int Scan[MaxNumber]; int sumArray[MaxNumber]; int Mnow; Mnow=M; for(i=0;i Scan[i]=TrackOrder[i]; for(i=0;i for(j=i+1;j if(Scan[i]>Scan[j]) { } temp=Scan[i]; Scan[i]=Scan[j]; Scan[j]=temp; cout<<\请选择磁头移动方向[1-增加方向、0-减小方向]: \ cin>>c; //cout< //cout<<\磁盘调度算法:\cout<<\从\号磁道开始\cout<<\被访问的下一个磁道号: \if(Scan[N-1]<=Mnow) { } else { if(Scan[0]>=Mnow) { } else { while(Scan[k] k++; for(i=0,s=0;i cout< for(i=N-1,s=0;i>=0;i--,s++) { } cout< { case 0: { while(l>=0) { cout< s=s+1; } Mnow=Scan[0]; for(j=r;j cout< sum=sum+Mnow-Scan[l]; Mnow=Scan[l]; l=l-1; s=s+1; } } break; sum+=Scan[j]-Mnow; Mnow=Scan[j]; case 1: { while(r cout< s=s+1; } sum+=Scan[r]-Mnow; Mnow=Scan[r]; r=r+1; } } } } Mnow=Scan[N-1]; for(j=l;j>=0;j--) { cout< s=s+1; } break; sum+=Mnow-Scan[j]; Mnow=Scan[j]; default: cout<<\输入有误,请重新输入. \//goto cout< cout<<\对应移动距离(磁道数): \for(i=0;i cout< avg=(float)sum/N; } void CSCAN() { int temp; int k=1; int s; int Mnow,l,r,c; int i,j; cout<<\总寻道长度:\ cout<<\平均寻道长度:\