求使用磁盘调度算法的最短寻道时间优先的C++程序

来源:百度知道 编辑:UC知道 时间:2024/06/24 13:35:01

dev c++

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct cidao
{
int num;
int visited;
}CD;

int count=0;

void SSTF(int start,CD L[],int n)
{
int i,j,next;
int min=32767;
for(i=0;i<n;i++)
{
if(L[i].visited==0)
if(min>=abs(L[i].num-start))
{
min=abs(L[i].num-start);
next=L[i].num;
j=i;
}
}
printf("\n\t%d\t\t%d",next,min);
L[j].visited=1;
count++;
if(count<n)SSTF(next,L,n);
}

int main()
{
int n,i,start;
printf("请输入磁盘请求序列大小:");
scanf("%d",&n);
CD L[n];
printf("\n请输入磁盘请求序列(以空格隔开):");
for(i=0;i<n;i++)
{
scanf("%d",&L[i].num);