根据访问磁盘的先后次序进行调度,最简单的磁盘调度算法
代码如下:#include#include #include #include #include using namespace std; int n; int start; typedef pair p; vector v; queue
q; double avgfind; int main() { cout << "请输入磁道个数:" << "n"; cin >> n; cout << "请输入开始磁道号:" << "n"; cin >> start; int x; cout << "请依次输入" << n << "个磁道号" << "n"; for(int i = 1; i <= n; i ++) { cin >> x; q.push(x); } while(!q.empty()) { int now = q.front(); q.pop(); v.push_back({now, abs(start - now)}); avgfind += abs(start - now); start = now; } cout << "n"; cout << "磁道号t移动距离" << "n"; for(int i = 0; i < v.size(); i ++) { cout << v[i].first << "t" << v[i].second << "n"; } cout << "平均寻道长度:" << "t"; printf("%.1lf", avgfind / n); return 0; }



