资源简介
FCFS、SSTF、SCAN、CSCAN
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
namespace DiscManage
{
class Program
{
//先来先服务算法
public static void FCFS(int[] array int m)
{
int sum = 0 i j;
int avg;
int now;
Console.WriteLine(“\n 请输入当前的磁道号:“);
now = Convert.ToInt32(Console.ReadLine());
sum += Math.Abs(now - array[0]);
Console.WriteLine(“\n FCFS调度结果: “);
for (i = 0; i < m; i++)
{
//输出FCFS磁盘调度结果
Console.WriteLine(“{0} “ array[i]);
}
for (i = 0 j = 1; j < m; i++ j++)
{
//累计总的移动距离
sum += Math.Abs(array[j] - array[i]);
}
//计算平均寻道长度
avg = sum / m;
Console.WriteLine(“\n 移动的总道数: {0} \n“ sum);
Console.WriteLine(“ 平均寻道长度: {0} \n“ avg);
}
//最短寻道时间优先算法
public static void SSTF(int[] array int m)
{
int i j sum = 0;
int k = 1;
int now l r;
int temp;
int avg;
//对磁道号进行从小到大排列
for (i = 0; i < m; i++)
{
for (j = i + 1; j < m; j++)
{
if (array[i] > array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
Console.WriteLine(“\n 请输入当前的磁道号:“);
now = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“\n SSTF调度结果: “);
if (array[m - 1] <= now)
{
for (i = m - 1; i >= 0; i--)
Console.WriteLine(“{0} “ array[i]);
sum = now - array[0];
}
else if (array[0] >= now)
{
for (i = 0; i < m; i++)
Console.WriteLine(“{0} “ array[i]);
sum = array[m - 1] - now;
}
else
{
while (array[k] < now)
{
k++;
}
l = k - 1;
r = k;
//确定当前磁道在已排的序列中的位置
while ((l >= 0) && (r < m))
{
if ((now - array[l]) <= (array[r] - now))
{
Console.WriteLine(“{0} “ array[l]);
sum += now - array[l];
now = array[l];
l = l - 1;
}
else
{
Console.WriteLine(“{0} “ array[r]);
sum += array[r] - now;
now = array[r];
- 上一篇:C#实现微信企业号签到功能
- 下一篇:C#winfrom 音乐播放器源码
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论