⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 电梯调度.cpp

📁 操作系统的程序 和代码算法编程 操作系统的程序 和代码算法编程
💻 CPP
字号:
#include<iostream.h>
#include<math.h>
void bubblesort(int table[],int n);
void swap(int table[],int a,int b);
void main()
{  
	int a=12;
	int m,p,q;             //m为当前磁道号,p为与m最接近的且比m大的一个数,q存放最小数table[0]
	int table[12]={8,17,27,129,110,186,78,147,41,10,64,12};//定义一个数组,存放给定的请求队列
     bubblesort(table,a);     //调用冒泡排序函数,对所给数组进行排序
	 q=table[0];
	cout<<"请输入当前磁道号m"<<endl;
	cin>>m;
   for(int i=0;i<a;i++)                         //找p
	{
		if(fabs(table[0]-m)>fabs(table[i+1]-m)&&table[i+1]-m>=0)    //判断大小 
		{
            table[0]=table[i+1];
			p=table[0];
		}
	}
	cout<<"与m最接近的且比m大的磁道为"<<p<<endl;
	int z;                                 //p的下标
	for( i=0;i<a;i++)
	{
		if(table[i]==p)                 
			z=i;                          //找到p的下标
	}
	cout<<"p的下标"<<z<<endl;              //输出p的下标在z      
	for(i=z;i<a;i++)
		cout<<table[i]<<endl;              //输出比m大的序列
	for(i=z-1;i>0;i--)
		cout<<table[i]<<endl;              //输出比m小的序列
	cout<<q<<endl;                         //输出最小数
   
   	}
void bubblesort(int table[],int n)            //冒泡排序
{
	for(int i=0;i<n-1;i++)
	{
		for(int j=0;j<n-1;j++)
			if(table[j]>table[j+1])
				swap(table,j,j+1);
	}
}
void swap(int table[],int i,int j)          //交换两数
{
	int temp=table[i];
	table[i]=table[j];
	table[j]=temp;
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -