资源简介
可以对给出的任意的磁盘请求序列、计算平均寻道长度; 要求可定制磁盘请求序列长度、磁头起始位置、磁头移动方向。
测试:假设磁盘访问序列:98,183,37,122,14,124,65,67;读写头起始位置:53,方向:磁道增加的方向。
代码片段和文件信息
#include
#include
using namespace std;
int a;//当前磁道号
int direction; //磁头方向
int num; //输入磁道总数
const int Maxqueue = 200; //定义队列最大数
typedef struct node
{ //磁道结构体
int value;
int visted;
}cidao;
cidao queue[Maxqueue];
void shuru1()
{
cout<<“请依次磁道号:“< for(int i = 0;i cin>>queue[i].value;
cout<<“输入初始磁道号:“;
cin>>a;
}
void shuru2()
{
cout<<“请输入需要的磁道总数“< cin>>num;
}
void initial()
{
for(int i = 0;i {
queue[i].value = -1;
queue[i].visted = 0;
}
}
void sstf()
{
int total = 0;//总移动的柱面数
int p;
int current;
for(int i = 0;i queue[i].visted = 0;
current = a;
for(int i = 0;i {
p = 0;
while(queue[p].visted!=0)
{
p++;
}
for(int j = p;j {
if((queue[j].visted==0)&&(abs(current-queue[p].value)>abs(current-queue[j].value)))
{
p = j;
}
}
cout< total += abs(queue[p].value-current); //计算总柱面
queue[p].visted = 1;
current = queue[p].value;
}
cout< }
void scan()
{
int total = 0;
int p;
int current;
int index = 0;
cout<<“输入方向:1或0“< cin>>direction;
cout< for(int i = 0;i queue[i].visted = 0;
current = a;
int temp = 0;
for(int i = 0;i {
for(int j = i;j {
if(queue[i].value>queue[j].value)
{
temp = queue[i].value;
queue[i].value = queue[j].value;
queue[j].value = temp;
}
}
}
for(int i = 0;i {
if(queue[i].value>=a)
{
index = i;
break;
}
}
cout< if(direction == 1)
{
for(int i = index;i {
cout< }
for(int i =index - 1;i>=0;i--)//回转
{
cout< }
}
else
{
for(int i =index ;i>=0;i--)//往外
{
cout< }
for(int i = index;i {
cout< }
}
}
void main()
{
//initial();
//shuru2();
//shuru1();
//sstf();
initial();
shuru2();
shuru1();
scan();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 68608 2016-12-09 20:22 最短寻道时间优先\Debug\最短寻道时间优先.exe
文件 555340 2016-12-09 20:22 最短寻道时间优先\Debug\最短寻道时间优先.ilk
文件 822272 2016-12-09 20:22 最短寻道时间优先\Debug\最短寻道时间优先.pdb
文件 558 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\cl.command.1.tlog
文件 11794 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\CL.read.1.tlog
文件 258 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\CL.write.1.tlog
文件 2 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\li
文件 2 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\li
文件 2 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\li
文件 2 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\li
文件 1018 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\li
文件 2428 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\li
文件 326 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\li
文件 156568 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\main.obj
文件 257024 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\vc110.idb
文件 339968 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\vc110.pdb
文件 553 2016-12-09 19:50 最短寻道时间优先\最短寻道时间优先\Debug\最短寻道时间优先.Build.CppClean.log
文件 80 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\最短寻道时间优先.lastbuildstate
文件 1745 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug\最短寻道时间优先.log
文件 2369 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\main.cpp
文件 4024 2016-12-08 19:29 最短寻道时间优先\最短寻道时间优先\最短寻道时间优先.vcxproj
文件 942 2016-12-08 19:29 最短寻道时间优先\最短寻道时间优先\最短寻道时间优先.vcxproj.filters
文件 7143424 2016-12-09 20:25 最短寻道时间优先\最短寻道时间优先.sdf
文件 939 2016-12-08 16:14 最短寻道时间优先\最短寻道时间优先.sln
..A..H. 21504 2016-12-09 20:25 最短寻道时间优先\最短寻道时间优先.v11.suo
目录 0 2016-12-09 20:22 最短寻道时间优先\最短寻道时间优先\Debug
目录 0 2016-12-09 19:50 最短寻道时间优先\Debug
目录 0 2016-12-08 19:29 最短寻道时间优先\最短寻道时间优先
目录 0 2016-12-09 20:25 最短寻道时间优先
----------- --------- ---------- ----- ----
............此处省略2个文件信息
相关资源
- 基于MFC的Cohen-Sutherland直线裁剪算法
- c++ 、MFC 实现中点画圆算法及工程代码
- 种子填充算法,扫描线填充算法,带
- 用C++编写图像缩放程序,采用双线性
- LZ77算法 C++实现
- 数字水印的(LSB算法)嵌入和提取V
- 万有引力搜索算法 c++代码
- C语言经典算法大全
- 最大最小K-means聚类算法
- 基于A*算法的十五数码程序 C语言版
- VC++ 数字图像处理典型算法及实现 源
- LeetCode题解 C/C++版
- 光线追踪算法实现C++实现
- 用遗传算法解决车辆优化调度问题
- 银行家算法C++实现穷举所有安全序列
- C++蚁群算法求解TSP问题
- 基于文本内容的垃圾邮件过滤程序
- 《数据结构》C语言版算法源码及运行
- apriori 算法 c++ 实现 文件读入
- 数据结构与算法分析C++描述Larrynyhof
- 人工智能 A算法 九宫格 启发式搜索
- 伪彩色增强算法 适用于c、matlab编程
- c++实现ecc加解密算法
- 约瑟夫算法——MFC
- NCC和SSDA算法的图像匹配实现
- MarkAllenWeiss数据结构与算法分析c++语言
- 遗传算法解八数码问题
- 语音识别GMM模型
- RSA算法加密MFC实现
- 数据结构与算法分析——C++语言描述
评论
共有 条评论