电梯调度算法---SCAN算法
请珍惜小编劳动成果,该文章为小编原创。转载请注明出处。 扫描(SCAN)调度算法:总是从磁臂当前位置開始,沿磁臂的移动方向去选择离当前磁臂近期的那个柱面的訪问者。 假设沿磁臂的方向无请求訪问时,就改变磁臂的移动方向。採用这样的调度算法。须要为訪问者设置两个队列。依据磁头的移动方向,能訪问到的訪问者由近及远排队。背离磁头移动方向的訪问者也由近及远排为还有一队。先按磁头移动方向队列调度訪问者訪问磁盘,当该方向没有訪问者时,再改变方向,选择还有一个訪问者队列訪问磁盘。 java代码实现: import java.util.Scanner; public class SCAN { int visitAdd[]; int visitSub[]; int index=0; //存放下标,已排序序列中找到比它大的最小值的下标 public void scan(int data[],int begin,int direction){ int temp=0; //从小到大排序 for(int i=0;i<data.length;i++){ for(int j=i;j<data.length;j++){ if(data[i]>data[j]){ temp=data[i]; data[i]=data[j]; data[j]=temp; } } } for(int i=0;i<data.length;i+