没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
#include iostream
#include cmath
#include vector
using namespace std;
struct Track{
int track;磁道号
bool visited;是否已经被访问
};
vectorTrack sequence;用来存放磁道访问序列的数组
vectorint result;用来磁盘调度顺序的数组
int Partition(int low,int high);划分,将磁道访问序列划分为比当前磁道号小和比当前磁道号大的两部分
void QuickSort(int low,int high);
void FCFS(int position);
void SSTF(int position);
void SCAN(int position,int direction);
int main()
{
int position;当前磁头的位置
int direction;磁头移动的方向
Track t;磁道号
t.visited = false;
cout 请输入当前磁头的位置: endl;
cin position;
cout 请输入磁头移动方向(0表示向磁道序号减少的方向移动,1表示向磁道序号增加的方向移动): endl;
cin direction;
cout 请按照提出访问请求到达的先后次序依次输入磁道访问的磁道号(以-1作为结束): endl;
cin t.track;
while (t.track != -1) {
sequence.push_back(t);
cin t.track;
#include cmath
#include vector
using namespace std;
struct Track{
int track;磁道号
bool visited;是否已经被访问
};
vectorTrack sequence;用来存放磁道访问序列的数组
vectorint result;用来磁盘调度顺序的数组
int Partition(int low,int high);划分,将磁道访问序列划分为比当前磁道号小和比当前磁道号大的两部分
void QuickSort(int low,int high);
void FCFS(int position);
void SSTF(int position);
void SCAN(int position,int direction);
int main()
{
int position;当前磁头的位置
int direction;磁头移动的方向
Track t;磁道号
t.visited = false;
cout 请输入当前磁头的位置: endl;
cin position;
cout 请输入磁头移动方向(0表示向磁道序号减少的方向移动,1表示向磁道序号增加的方向移动): endl;
cin direction;
cout 请按照提出访问请求到达的先后次序依次输入磁道访问的磁道号(以-1作为结束): endl;
cin t.track;
while (t.track != -1) {
sequence.push_back(t);
cin t.track;
}
int select;
do {
cout ---------------------------------------------------------------- endl;
cout 请选择要进行磁盘调度的方法: endl;
cout 1.先来先服务法(FCFS)n2.最短寻道时间优先法(SSTF)n3.电梯算法(SCAN)n0.退出 endl;
cout ---------------------------------------------------------------- endl;
cin select;
switch (select)
{
case 1
FCFS(position);
break;
case 2
SSTF(position);
break;
case 3
SCAN(position,direction);
break;
case 0
exit(0);
default
break;
}
} while (select != 0);
return 0;
}
int Partition(int low,int high)划分,将磁道访问序列划分为比当前磁道号小和比当前磁道号大的两部分
{
int size = sequence.size();
int select;
do {
cout ---------------------------------------------------------------- endl;
cout 请选择要进行磁盘调度的方法: endl;
cout 1.先来先服务法(FCFS)n2.最短寻道时间优先法(SSTF)n3.电梯算法(SCAN)n0.退出 endl;
cout ---------------------------------------------------------------- endl;
cin select;
switch (select)
{
case 1
FCFS(position);
break;
case 2
SSTF(position);
break;
case 3
SCAN(position,direction);
break;
case 0
exit(0);
default
break;
}
} while (select != 0);
return 0;
}
int Partition(int low,int high)划分,将磁道访问序列划分为比当前磁道号小和比当前磁道号大的两部分
{
int size = sequence.size();
剩余7页未读,继续阅读
资源评论
_SuperKeke_
- 粉丝: 22
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功