磁盘调度算法,FIFO,SSTF,SCAN,CSAN

#include <iostream>  
#include <time.h>  
#include <vector>      //c++标准模板库,相当于一个容器,存放任意类型动态数组,能增加和压缩数据
#include <math.h>  
#include <stdlib.h>  
#include <algorithm>   //功能强大的算法库
#include <cstring>     //字符串函数
#include <windows.h>   //包含了其他windows头文件,比如:数据类型定义、内核函数、用户及二面函数、图形设备接口函数等
#include <fstream>     //文件流 
using namespace std;  
  
int position = 0;      //当前磁道位置  
int dis = 0;  //记录磁道走过的长度
double average_distance = 0;  
 
/*随机生成序列函数*/
void request(vector<int>&m_vec,ofstream &outfile){  
    cout<<"随机生成磁盘序列:"<<endl;  
    int n = 0;  
    srand(time(NULL));     /*添加随机数种子的函数,time(null)返回值作为srand函数的参数,
意思是以现在的系统时间作为随机数的种子来产生随机数!至于NULL这个参数。
只有设置成NULL才能获得系统的时间!*/  
    n = rand() % 20 + 1; //rand()是一个产生随机数的函数,与srand一起用,rand()%20+1:n的取值为1-20
    int temp = 0;  
    for(int i=0;i<n;i++){  
        temp = rand() % 100; //temp的取值为0-100
        m_vec.push_back(temp); // 将随机生成的temp数输入到vector里面,再从里面读出数据
        cout<<temp<<" ";  
        outfile<<temp<<endl; //outfile输出数据文件流 
    }  
    cout<<endl;  
    position = rand() % 100; //当前磁道为随机生成的0-100之间的数

    cout<<"当前磁道:"<<position<<endl;  
}  
 
//计算平均距离函数 
void compute_dis(vector<int>m_vec,int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值