Untitled
unknown
plain_text
a year ago
1.3 kB
7
Indexable
#include<stdio.h>
#include<stdlib.h>
void sort(int q[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(q[j+1]<q[j])
{
int temp=q[j];
q[j]=q[j+1];
q[j+1]=temp;
}
}
void main()
{
int pos,size,i,n,j,seektime=0,diff;
printf("enter the disk size");
scanf("%d",&size);
int min=0,max=size-1;
printf("enter the size of queue");
scanf("%d",&n);
int q[n+1];
printf("enter the queue elements");
for(i=0;i<n;i++)
scanf("%d",&q[i]);
printf("enter the head position");
scanf("%d",&q[n]);
int head=q[n];
sort(q,n+1);
for(i=0;i<=n;i++)
if(head==q[i])
{pos=i;
break;}
printf("\n enter direction :0-left,1-right: ");
int dir;
scanf("%d",&dir);
if(dir==0)
{
for(i=pos;i>=0;i--){
printf("%d->",q[i]);
}
printf("0->%d->",max);
for(i=n;i<pos;i--){
printf("%d->",q[i]);
seektime=(q[pos]-0)+(max-min)+(max-q[pos+1]);
}
}
if(dir==1)
{
for(i=pos;i<n;i++)
printf("%d->",q[i]);
printf("%d->0->",max);
for(i=0;i<pos;i++)
printf("%d->",q[i]);
seektime=(max-q[pos])+(max-min)+(q[pos-1]-0);
}
printf("seek time is= %d",seektime);
}Editor is loading...
Leave a Comment