#include<iostream>
#include<cmath>
#include<algorithm>
#include <cstdlib>
#include <ctime>
using namespace std;
#define INF 999999
#define M 200 //定义M为磁道数
typedef struct {
int pid;//磁道号
bool time;//计数器
}NodeList;
void Random(int *a,int n,int l,int r)//生成范围在l~r的随机数
{
srand(time(0)); //设置时间种子
for(int i=0;i<n;i++){
a[i]=rand()%(r-l+1)+l;//生成区间r~l的随机数
}
}
/**********FCFS算法*********/
void FCFS(int n,NodeList *L,int temp){
int i;
int k=0;
int m=n;
double sum=0;
int min=INF;
cout << "---------------------------------" << endl;
cout << "| 下一个磁道号 | 移动的磁道数 |" << endl;
cout << "---------------------------------"<< endl;
for(i=0;i<n;i++){
min=abs(L[i].pid-temp);
temp=L[i].pid;
cout << "|"<< L[i].pid << "\t\t|" << min << "\t\t|" << endl;
sum+=min;
}
cout << "---------------------------------" << endl;
printf(" 平均寻道长度为:%0.2lf\t|\n",sum/(double)n);
cout <<"---------------------------------" << endl << endl;
}
/**********SSTF算法*********/
void SSTF(int n,NodeList *L,int temp){
int i;
int k=0;
int m=n;
double sum=0;
int min=INF;
cout << "---------------------------------" << endl;
cout &l
08-12
4151
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交