青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Brian Warehouse

Some birds aren`t meant to be caged, their feathers are just too bright... ...
posts - 40, comments - 16, trackbacks - 0, articles - 1
/*
Title: 時(shí)間片輪轉(zhuǎn)法
Author: Brian
Date: 2010/04/09
*/
#include 
<iostream>
#include 
<cstdlib>
using namespace std;

typedef 
struct PNode { // PCB
   struct PNode *next; //指向下一個(gè)節(jié)點(diǎn)的指針
   char name[12];    // 進(jìn)程名
   int All_Time;    // 總運(yùn)行時(shí)間
   int Runed_Time;    // 已運(yùn)行時(shí)間
   char state;        // 進(jìn)程狀態(tài) Ready / End
}* Proc; // 指向該P(yáng)CB的指針

int ProcNum; // 全局變量,用于用戶自己確定進(jìn)程個(gè)數(shù)

void InitPCB(Proc &H) { //初始化就緒隊(duì)列
    cout<<"輸入總進(jìn)程個(gè)數(shù): ";
    cin
>>ProcNum; //進(jìn)程總個(gè)數(shù)
    int Num=ProcNum;
    H
=(Proc)malloc(sizeof(PNode));    
    H
->next=NULL;
    Proc p
=H;
    cout
<<"總進(jìn)程個(gè)數(shù)默認(rèn)為 "<<ProcNum<<" 個(gè),請(qǐng)輸入相應(yīng)信息\n\n";
    
    
while (Num--) {
        p
=p->next=(Proc)malloc(sizeof(PNode));
        cout
<<"進(jìn)程名 總運(yùn)行時(shí)間 已運(yùn)行時(shí)間 :";
        cin
>>p->name>>p->All_Time>>p->Runed_Time;
        p
->state='R';
        p
->next=NULL;
    }
    p
->next=H->next; // 構(gòu)造循環(huán)隊(duì)列
}

void DispInfo(Proc H) { //輸出運(yùn)行中信息
    Proc p=H->next;
    
do {
        
if (p->state != 'E')
        {
            cout
<<"進(jìn)程名:"<<p->name<<"\t總運(yùn)行時(shí)間:"<<p->All_Time
                
<<"\t已運(yùn)行時(shí)間:"<<p->Runed_Time
                
<<"\t狀態(tài):"<<p->state<<endl;
            p
=p->next;
        }
        
else p=p->next;
    } 
while (p != H->next); // 整個(gè)進(jìn)程鏈條始終完整,只是狀態(tài)位有差異
}

void SJP_Simulator(Proc &H) { // 時(shí)間片輪轉(zhuǎn)法模擬器
    cout<<endl<<"-------------------START--------------------\n";
    
int flag=ProcNum; // 記錄剩余進(jìn)程數(shù)
    int round=0// 記錄輪轉(zhuǎn)數(shù)
    Proc p=H->next;
    
while (p->All_Time > p->Runed_Time) {
            round
++;
            cout
<<endl<<"Round "<<round<<"--正在運(yùn)行 "<<p->name<<" 進(jìn)程"<<endl;
            p
->Runed_Time++;
            DispInfo(H);    
            
if (p->All_Time == p->Runed_Time) {
                p
->state='E';
                flag
--;
                cout
<<p->name<<" 進(jìn)程已運(yùn)行結(jié)束,進(jìn)程被刪除!\n";
            }
            p
=p->next;
            
while (flag && p->All_Time == p->Runed_Time)
                p
=p->next; // 這一步非常重要,跳過(guò)先前已結(jié)束的進(jìn)程

    }
    cout
<<endl<<"--------------------END---------------------\n";
}

void main() {
    Proc H;
    InitPCB(H); 
// 數(shù)據(jù)初始化
    DispInfo(H); // 初始化成功后的進(jìn)程狀態(tài)
    SJP_Simulator(H); // 模擬時(shí)間片輪轉(zhuǎn)法
    system("pause");
}

 

/*
Title: 高響應(yīng)比優(yōu)先算法
Author: Brian
Date: 2010/04/11
*/
#include 
<iostream>
#include 
<cstdlib>
#include 
<cstring>
using namespace std;

typedef 
struct PNode {  //PCB
    struct PNode *next; //指向下一個(gè)節(jié)點(diǎn)的指針
    char name[12];        //進(jìn)程名
    int All_Time;        //要求運(yùn)行時(shí)間
    int Wait_Time;        //等待時(shí)間
    float Res_Ratio;    //響應(yīng)比    
    char state;            //狀態(tài) Ready/End    
}* Proc; //指向該P(yáng)CB的指針

int ProcNum; // 全局變量,用于用戶自己確定進(jìn)程個(gè)數(shù)

void ComputeRes(Proc &H) //計(jì)算響應(yīng)比
{
    Proc p
=H->next;
    
while (p) {
        
if (p->state == 'R') {
            p
->Wait_Time++;
            p
->Res_Ratio=1+(float)(p->Wait_Time)/p->All_Time;
        }
        
else p->Res_Ratio=0.0;
        p
=p->next;
    }
}

void InitProc(Proc &H)
{
    cout
<<"輸入總進(jìn)程個(gè)數(shù): ";
    cin
>>ProcNum; //進(jìn)程總個(gè)數(shù)
    int Num=ProcNum;
    H
=(Proc)malloc(sizeof(PNode));    
    H
->next=NULL;
    Proc p
=H;
    cout
<<"總進(jìn)程個(gè)數(shù)默認(rèn)為 "<<ProcNum<<" 個(gè),請(qǐng)輸入相應(yīng)信息\n\n";
    
    
while (Num--) {
        p
=p->next=(Proc)malloc(sizeof(PNode));
        cout
<<"進(jìn)程名 總運(yùn)行時(shí)間 等待時(shí)間 :";
        cin
>>p->name>>p->All_Time>>p->Wait_Time;
        p
->state='R';
        p
->Res_Ratio=1+(float)(p->Wait_Time)/p->All_Time;
        p
->next=NULL;
    }
}

void DispInfo(Proc H) { //輸出運(yùn)行中信息
    Proc p=H->next;
    
while (p) {
        cout
<<endl<<"進(jìn)程名:"<<p->name<<"\t總運(yùn)行時(shí)間:"<<p->All_Time
            
<<"\t等待時(shí)間:"<<p->Wait_Time
            
<<"\t響應(yīng)比:"<<p->Res_Ratio<<"\t狀態(tài):"<<p->state<<endl;
        p
=p->next;
    }
}

void RelocateMax(Proc &H)  // 進(jìn)程排序 (逆序算法) , 首節(jié)點(diǎn)是響應(yīng)比最高節(jié)點(diǎn)
{
    
if(H->next==NULL || H->next->next==NULL)
        
return// 只剩一個(gè)節(jié)點(diǎn)或沒(méi)有節(jié)點(diǎn)時(shí)無(wú)需排序
    Proc p=H->next,q,r;
    
if (p) {
        r
=p->next;
        p
->next=NULL;
        p
=r;
        
while (p) {
            r
=p->next;
            q
=H;
            
while (q->next && q->next->Res_Ratio < p->Res_Ratio)
                q
=q->next;
            p
->next=q->next;
            q
->next=p;
            p
=r;
        }
    }
    p
=H->next;
    H
->next=NULL;
    
while (p) {
        q
=p->next;
        p
->next=H->next;
        H
->next=p;
        p
=q;
    }
}

void HRN_Simulator(Proc &H) //高響應(yīng)比算法模擬器
{
    cout
<<endl<<"-------------------START--------------------\n";    
    
int flag=ProcNum; // 記錄剩余進(jìn)程數(shù)
     while (flag)
    {
        Proc p
=H->next;
        p
->All_Time--;
        p
->Wait_Time=0;
        p
->Res_Ratio=1.0;
        
if (p->All_Time == 0)
        {
            p
->state = 'E';
            ComputeRes(H);
            DispInfo(H);    
            
if (p->next == NULL)
                H
->next = NULL;
            
else H->next = p->next; //將首節(jié)點(diǎn)刪除    
            cout<<endl<<p->name<<" 進(jìn)程已運(yùn)行結(jié)束\n";
            flag
--;
        }
        
else 
        {
            
            DispInfo(H);ComputeRes(H);
        }
        RelocateMax(H);    
    }
    cout
<<endl<<"--------------------END---------------------\n\n";
}

void main()
{
    Proc H;
    InitProc(H); 
// 數(shù)據(jù)初始化
    DispInfo(H); // 初始化成功后的進(jìn)程狀態(tài)
    HRN_Simulator(H); // 模擬高響應(yīng)比優(yōu)先算法
    system("pause");
}

Feedback

# re: 實(shí)驗(yàn)一代碼 時(shí)間片輪轉(zhuǎn)法 高響應(yīng)比優(yōu)先  回復(fù)  更多評(píng)論   

2010-08-19 22:09 by 普派
void main()
{
Proc H;
InitProc(H); // 數(shù)據(jù)初始化
DispInfo(H); // 初始化成功后的進(jìn)程狀態(tài)
HRN_Simulator(H); // 模擬高響應(yīng)比優(yōu)先算法
system("pause");
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费观看久久久4p| 欧美一区二区三区免费视| 亚洲黄网站黄| 亚洲欧美日韩成人| 午夜精品久久久久久久99热浪潮| 欧美日韩国产免费观看| 99国产精品久久久久久久成人热| 夜夜夜久久久| 国产精品国产三级国产专播精品人 | 欧美日韩亚洲视频一区| 亚洲午夜在线观看视频在线| 久久精品国产99精品国产亚洲性色 | 国产一区二区三区久久| 久久夜色精品国产欧美乱| 女人香蕉久久**毛片精品| 一区二区国产日产| 极品裸体白嫩激情啪啪国产精品| 久久一区亚洲| 欧美精品成人| 久久精品一区二区三区不卡牛牛 | 最新日韩av| 久久成人羞羞网站| 亚洲国产天堂久久国产91| 中文欧美日韩| 在线观看一区二区精品视频| 欧美成人精品激情在线观看| 亚洲视频国产视频| 亚洲精品久久久蜜桃| 久久精品一本| 亚洲一区二区av电影| 在线看成人片| 亚洲毛片视频| 在线观看一区二区精品视频| 国产精品99久久久久久白浆小说| 欧美在线免费视频| 亚洲一区二区视频在线| 国内外成人免费激情在线视频网站 | 日韩午夜精品视频| 久久在线视频在线| 亚洲免费视频一区二区| 亚洲经典三级| 欧美一区二区视频97| 亚洲人成网站777色婷婷| 久久精品论坛| 国产精品一级久久久| 国产精品xxxav免费视频| 欧美日韩国产精品一卡| 国产伪娘ts一区| 国内一区二区在线视频观看| 国产日韩在线一区| 亚洲尤物视频网| 99re66热这里只有精品3直播| 欧美大尺度在线| 亚洲第一在线视频| 老司机aⅴ在线精品导航| 免费的成人av| 欧美成在线观看| 欧美 日韩 国产在线| 欧美一区二区黄色| 久热这里只精品99re8久| 久久婷婷人人澡人人喊人人爽| 欧美色中文字幕| 国产精品久久夜| 国产一级久久| 久久福利毛片| 久久不射中文字幕| 伊伊综合在线| 日韩午夜免费| 午夜精品视频一区| 亚洲视频中文| 国产精品一区二区在线观看| 亚洲综合导航| 亚洲亚洲精品三区日韩精品在线视频| 欧美日韩国产三级| 亚洲视频在线观看| 亚洲一区二区三区精品在线观看| 欧美在线观看一二区| 美女91精品| 欧美三级在线播放| 亚洲欧美经典视频| 性视频1819p久久| 欧美激情亚洲自拍| 亚洲天堂第二页| 欧美有码视频| 亚洲三级免费电影| 久久精品国产精品| 久久久久国产一区二区三区| 欧美日韩免费观看一区| 亚洲欧美国产高清| 欧美香蕉视频| 国产精品亚洲第一区在线暖暖韩国| 国产日韩精品一区二区| 亚洲激情一区二区| 亚洲美女少妇无套啪啪呻吟| 欧美婷婷久久| 牛牛影视久久网| 欧美性大战久久久久| 久久精品国产77777蜜臀| 玖玖玖国产精品| 亚洲在线视频一区| 男女激情久久| 欧美在线网址| 欧美日本免费| 亚洲精品在线观| a91a精品视频在线观看| 国产主播一区二区| 日韩午夜在线电影| 狠狠色综合日日| 亚洲午夜在线视频| 亚洲精品久久久蜜桃 | 午夜伦欧美伦电影理论片| 久久乐国产精品| 欧美一区二区三区视频免费| 欧美黑人多人双交| 亚洲高清在线观看一区| 久久嫩草精品久久久久| 欧美一区二区在线观看| 一区二区欧美亚洲| 免费成人黄色| 久久久www成人免费精品| 欧美午夜不卡视频| 亚洲第一精品福利| 麻豆久久久9性大片| 性高湖久久久久久久久| 午夜精品久久久久| 中国成人亚色综合网站| 免费在线看一区| 欧美成人乱码一区二区三区| 国产一区二区精品久久| 午夜精品影院| 欧美一级理论性理论a| 欧美三级免费| 99精品99久久久久久宅男| 亚洲欧洲另类| 日韩视频中文| 99精品免费网| 欧美日韩一区综合| 9l国产精品久久久久麻豆| 99国产精品久久久| 欧美日韩福利| 9色porny自拍视频一区二区| 亚洲性图久久| 欧美日韩精品免费观看视频完整| 亚洲啪啪91| 在线一区日本视频| 国产精品草莓在线免费观看| 亚洲免费电影在线观看| 亚洲一区二区成人在线观看| 国产精品久久婷婷六月丁香| 亚洲影院高清在线| 久久九九免费视频| 在线观看91久久久久久| 亚洲欧美日韩国产精品| 欧美伊久线香蕉线新在线| 亚洲综合国产精品| 国产精品视频免费观看www| 亚洲欧美日韩在线| 理论片一区二区在线| 最新中文字幕一区二区三区| 欧美欧美在线| 午夜一区二区三区不卡视频| 久久午夜国产精品| 最新中文字幕一区二区三区| 欧美日本亚洲视频| 亚洲午夜久久久久久久久电影网| 久久久久一区| 一区二区国产在线观看| 国产婷婷精品| 欧美大秀在线观看| 亚洲一区中文| 欧美国产在线观看| 国产精品久久一级| 久久精品亚洲精品| 亚洲精品乱码久久久久久| 亚洲欧美国产另类| 黄色另类av| 欧美偷拍一区二区| 久久精品一本久久99精品| 亚洲精品国产精品国自产观看浪潮| 亚洲欧美久久久| 亚洲国产乱码最新视频 | 伊人夜夜躁av伊人久久| 欧美日本韩国| 久久久亚洲影院你懂的| 一区二区三区成人精品| 亚洲精品国产系列| 国产久一道中文一区| 欧美国产高潮xxxx1819| 欧美一区二区三区啪啪| 日韩视频在线观看免费| 蜜臀久久99精品久久久久久9| 亚洲午夜视频在线| 91久久久精品| 国产在线一区二区三区四区| 欧美午夜电影一区| 欧美精品不卡| 欧美成人黄色小视频| 久久久久成人精品免费播放动漫| 亚洲综合色视频| 欧美综合激情网|