91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 0.01M
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-14
  • 語言: 其他
  • 標簽: 其他??

資源簡介

.c

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?

typedef?char?string[10];??//定義string為含有10個字符元素的字符數組類型

struct?task?{
string?name;???//作業名稱*
int?arrTime;???//作業到達時間*
int?serTime;???//作業要求服務時間*
int?waiTime;???//等待時間
int?begTime;???//開始運行時間
int?finTime;???//結束運行時間
int?turTime;???//周轉時間
double?priority;??//優先權?
int?finish;????//是否已經完成 finish=0表示沒有完成?finish=1表示已經完成
}JCB[10]; ???//定義JCB為包含十個結構體的數組

void?print(int?iint?timesint?a);

int?num;??//記錄輸入的作業數量?
int?FIFO_waitTime=0;
int?HRN_waitTime=0;

void?init()//初始化
{
int?i;
FIFO_waitTime=0;
HRN_waitTime=0;
for(i=0;i {
JCB[i].begTime=0;
JCB[i].finTime=0;
JCB[i].waiTime=0;
JCB[i].turTime=0;
JCB[i].finish=0;
}
}

/***************錄入作業信息****************/???
void?input()
{
int?i;
????system(“cls“);
printf(“\n請輸入作業數量:?“);
scanf(“%d“?&num);
for(i=0;i {
printf(“\n請輸入作業?NO.%d:\n“i+1);
printf(“??作業名稱:?\t“);
scanf(“%s“JCB[i].name);
printf(“??到達時間:?\t“);
scanf(“%d“&JCB[i].arrTime);
printf(“??服務時間:?\t“);
scanf(“%d“&JCB[i].serTime);
JCB[i].priority?=?1; //初始化每個作業的優先權都為1
JCB[i].finish?=0;
}
}

/***************************先來先服務算法***********************/
void?FIFO()
{
int?SturTime=0;
int?ij;
int?maxmax_j;
struct?task?t;
//按照到達時間排序
for(j=0;j {
max=JCB[j].arrTime;
max_j=j;
for(i=j;i {
if(JCB[i].arrTime {
max=JCB[i].arrTime;
max_j=i;
}
}
t=JCB[max_j];
JCB[max_j]=JCB[j];
JCB[j]=t;
}
for(i=0;i {
if(i==0){
JCB[i].begTime=JCB[i].arrTime;
JCB[i].waiTime=0;
JCB[i].finTime=JCB[i].begTime+JCB[i].serTime;
}else{

if(JCB[i-1].finTime-JCB[i].arrTime>0){??
//表明在上一個作業被調度后,當前作業已經在后備隊列中了
JCB[i].waiTime=JCB[i-1].finTime-JCB[i].arrTime;
JCB[i].begTime=JCB[i-1].finTime;
}else{
JCB[i].waiTime=0;
JCB[i].begTime=JCB[i].arrTime;
}
JCB[i].finTime=JCB[i].begTime+JCB[i].serTime;
}
FIFO_waitTime+=JCB[i].waiTime;
JCB[i].turTime=JCB[i].finTime-JCB[i].arrTime;
SturTime+=JCB[i].turTime;
}
for(i=0;i {
if(i==0)
print(i20);
else
print(i10);
}
printf(“等待時間總和:\t%d“FIFO_waitTime);
printf(“\t平均周轉時間:\t%d\n“SturTime/num);
}


/******************最高響應比優先算法*****************/
void?HRN()
{
int?pre;
int?SturTime=0;
int?current;//記錄當前操作的作業的下標
int?count=1ijSserviceTimeRelativeMinSerTime=INT_MAX;
double?min=INT_MINmax=INT_MAX;
int?startTime;
//第一個被調度的作業就是最先到達的那個幾個
for(i=0;i {
if(JCB[i].arrTime {
max=JCB[i].arrTime;
current=i;
}
}
for(i=0;i {
if(JC

評論

共有 條評論