亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nfd.cpp

?? 操作系統 課程設計 非強占短進程優先算法和先來先服務算法
?? CPP
字號:
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<conio.h>
#include<vector>
#include<string>
using namespace std;
//------------------------------------------------------------------------------------------------
//進程輸入
struct process{
	double ctime;
	double utime;
	double time;
	string name;
};
bool flag(vector<process>& ps,string name0){
	if(ps.size ()==0) return 1;
	for(vector<process>::size_type i=0;i<ps.size ();i++)
       if(ps[i].name == name0) return 0;
	return 1;
}

void creat(vector<process>& ps0,process &p0){
	//cout<<endl;
p1:	cout<<"進程名: ";
	string name0;
    cin>> name0 ;
    if(!flag(ps0,name0)){ cout<<"進程名已經存在!重新輸入:"<<endl;goto p1;}
	p0.name =name0;
	cout<<"到達時間(十進制數): ";
	cin>>p0.ctime ;
	cout<<"估計運行時間(十進制數): ";
	cin>>p0.utime ;
	p0.time =0;
	ps0.push_back (p0);
}

void print(vector<process>& ps){
	if(ps.size ()==0){cout<<"無進程"<<endl;return;}
	cout<<setw(12)<<"進程名"<<setw(10)<<"到達時間"<<setw(10)<<"運行時間"<<endl;
	for(vector<process>::size_type i=0;i<ps.size ();i++)
		cout<<setw(12)<<ps[i].name <<setw(10)<<ps[i].ctime<<setw(10)<<ps[i].utime<<endl;
	cout<<endl;
}
//-----------------------------------------------------------------------------------------------
//先來先服務算法

bool compare(const process& x,const process& y){
	return x.ctime <y.ctime ;
}
double time1(vector<process>& ps){
	double x=0;
	for(vector<process>::size_type i=0;i<ps.size ();i++)
	{
		if(i==0) {ps[0].time =ps[0].utime ;	x=x+ps[0].utime+ ps[0].ctime ;}                                                         
		else
		{
			if(x<ps[i].ctime){ps[i].time=ps[i].utime;x=ps[i].ctime+ps[i].utime;}
			else{ps[i].time =x + ps[i].utime -ps[i].ctime ;x=x+ps[i].utime;}
		}
	}
	x=0;
    for(vector<process>::size_type j=0;j<ps.size ();j++)
		x=x+ps[j].time ;
	return (x/ps.size ());	
}

double time2(vector<process>& ps){
	double x=0;
    for(vector<process>::size_type j=0;j<ps.size ();j++)
	     x=x+ps[j].time/ps[j].utime ; 
	return (x/ps.size ());	
}

void printf(vector<process>& ps){
	if(ps.size ()==0){cout<<"無進程"<<endl;return;}
	cout<<setw(12)<<"進程名"<<setw(10)<<"到達時間"<<setw(10)<<"運行時間"<<setw(10)<<"結束時間"<<setw(10)<<"周轉時間"<<endl;
	for(vector<process>::size_type i=0;i<ps.size ();i++)
		cout<<setw(12)<<ps[i].name <<setw(10)<<ps[i].ctime<<setw(10)<<ps[i].utime<<setw(10)<<ps[i].time + ps[i].ctime<<setw(10)<<ps[i].time<<endl;
	cout<<endl;
}

void fc_serve(vector<process>& ps){
	sort(ps.begin (),ps.end (),compare);
	cout<<endl;
    double x,y;
	x=time1(ps);
	y=time2(ps);
	cout<<"      先來先服務算法進程執行順序"<<endl;
	printf(ps);
	cout<<"      先來先服務算法評價:"<<endl;
	cout<<"      平均周轉時間為:"<<x<<endl;
	cout<<"      平均帶權周轉時間為:"<<y<<endl;
}
//-----------------------------------------------------------------------------------------------
//非搶占短進程優先算法

bool compare0(const process& x,const process& y){
	return x.utime <y.utime ;
}

vector<process> select(vector<process>& ps,vector<process>& p){
	vector<process>::iterator iter0=ps.begin ();
	vector<process>::iterator iter1=iter0+1;
	if(ps.size ()==0 || iter1==ps.end ()) return ps;
	while(iter1->ctime ==iter0->ctime ) iter1=iter1+1;
	if(iter1!=iter0+1) sort(iter0,iter1,compare0);
	for( ;iter0!=iter1;++iter0) p.push_back (*iter0);
	double x=0;
	for(vector<process>::size_type i=0;i<p.size ();i++)
	    x=x+p[0].ctime+p[i].utime;
	while(iter1!=ps.end ()){
	    for( ; iter1!=ps.end () && iter1->ctime <=x;++iter1);
	    if(iter0==iter1) {p.push_back (*iter0);x=x+iter0->utime ; ++iter0; ++iter1;}
        else {
		   sort(iter0,iter1,compare0);
		   if(iter1==ps.end ()) {
			    for( ;iter0!=iter1; ++iter0)
			    	p.push_back (*iter0);
			    return p;
		   }
		p.push_back (*iter0);
		x=x+iter0->utime;
		++iter0;
		}
	}	
	return p;
}

void sp_serve(vector<process>& ps){
	sort(ps.begin (),ps.end (),compare);
	vector<process> p;
	p=select(ps,p);
	cout<<endl;
	double x,y;
	x=time1(p);
	y=time2(p);
	cout<<"      非搶占短進程優先算法進程執行順序"<<endl;
	printf(p);
	cout<<"      非搶占短進程優先算法評價:"<<endl;
	cout<<"      平均周轉時間為:"<<x<<endl;
	cout<<"      平均帶權周轉時間為:"<<y<<endl;
}

//-----------------------------------------------------------------------------------------------
int main (){
	process p;
	vector<process> ps;
	char ch;
	cout<<"*******************************************"<<endl;
    cout<<"*                                         *"<<endl;
    cout<<"* 模擬進程調度的時間是以十進制方式實現的。*"<<endl;
	cout<<"*                                         *"<<endl;
	cout<<"*******************************************"<<endl;
	cout<<endl;
	do{
        cout<<"請輸入進程的基本信息:"<<endl;
        creat(ps,p);
		cout<<"是否繼續輸入(是'Y'):";
	    ch =_getch(); 
		cout<<endl;cout<<endl;
	}while(ch=='y' || ch=='Y');
	cout<<endl;cout<<endl;
	cout<<"      輸入的進程信息為:"<<endl;
	print(ps);
	do{
	     cout<<endl;
		 cout<< "         ----= 算法菜單=------"<<endl; cout<<endl;
		 cout<< "       s - 非搶占短進程優先算法 "<<endl;
		 cout<< "       f - 先來先服務算法 "<<endl;
		 cout<< "       e - 退出 "<<endl;
		 ch =_getch(); 
		 switch(ch)
		 {
			 case 's' :
				 sp_serve(ps);
				 break;
			 case 'f' :
                 fc_serve(ps);
				 break;
			 case 'e':break;
			 default:
				 cout<<"操作錯誤!"<<endl;
		 }
		 cout<<endl;
	 }while(ch!='e');
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久蜜臀图片| 手机精品视频在线观看| 国产精品91xxx| 国产三级精品三级| 成人深夜福利app| 国产精品高潮呻吟| 欧美在线一区二区| 久久精品久久精品| 国产欧美视频一区二区三区| 91在线观看高清| 日日夜夜免费精品| 久久久久久久网| 99国产精品久久久久久久久久久| 亚洲综合色视频| 欧美www视频| 成人97人人超碰人人99| 亚洲第一激情av| 精品88久久久久88久久久| 成人性视频免费网站| 依依成人精品视频| 欧美一级电影网站| av电影一区二区| 亚洲午夜影视影院在线观看| 欧美成人伊人久久综合网| 成人一区在线看| 舔着乳尖日韩一区| 国产精品污污网站在线观看| 91超碰这里只有精品国产| 国产成人精品免费| 视频一区二区中文字幕| 1区2区3区欧美| 欧美videos大乳护士334| 91色.com| 久久国产精品99精品国产| 亚洲欧美日韩国产综合| 精品国精品国产尤物美女| 91猫先生在线| 国产福利一区二区三区视频| 日日噜噜夜夜狠狠视频欧美人 | 懂色av一区二区三区蜜臀| 一区二区三区四区激情| 久久久99精品久久| 欧美卡1卡2卡| 色综合天天视频在线观看| 精品在线播放免费| 婷婷综合五月天| 亚洲欧美视频一区| 欧美极品aⅴ影院| 精品粉嫩超白一线天av| 欧美日韩午夜精品| 色婷婷香蕉在线一区二区| 国产成人夜色高潮福利影视| 日本不卡一区二区三区| 亚洲精品视频在线看| 中文字幕精品一区二区精品绿巨人 | 337p粉嫩大胆噜噜噜噜噜91av| 欧美伊人久久久久久午夜久久久久| 精品一区二区三区香蕉蜜桃 | 在线观看一区日韩| 97久久超碰国产精品电影| 国产成人av一区| 国产精品正在播放| 国模冰冰炮一区二区| 久久精品国产一区二区| 日韩电影在线观看电影| 五月婷婷激情综合| 亚洲第一主播视频| 亚洲成人av一区| 亚洲电影一区二区| 午夜精品久久久久久久久| 亚洲成av人片在线观看| 亚洲一区二区精品视频| 一区二区三区在线视频免费观看| 综合精品久久久| 亚洲日本va在线观看| 亚洲精品成人天堂一二三| 亚洲综合一区在线| 亚洲一区二区三区不卡国产欧美| 亚洲影视在线播放| 天天综合色天天| 日本中文字幕一区二区有限公司| 日韩黄色免费电影| 青青草原综合久久大伊人精品优势| 香港成人在线视频| 麻豆精品一区二区综合av| 奇米影视在线99精品| 极品少妇xxxx精品少妇| 国产久卡久卡久卡久卡视频精品| 国产毛片精品国产一区二区三区| 国产乱码字幕精品高清av| 粉嫩一区二区三区性色av| 91在线视频18| 欧美色手机在线观看| 欧美一级免费大片| 久久午夜羞羞影院免费观看| 国产欧美一区视频| 亚洲男女毛片无遮挡| 亚洲一区av在线| 蜜桃视频在线一区| 成人黄色片在线观看| 欧美亚洲一区二区三区四区| 538prom精品视频线放| 久久免费的精品国产v∧| 亚洲日本在线看| 天天综合日日夜夜精品| 国产成人午夜电影网| 欧美自拍偷拍午夜视频| 日韩一本二本av| 国产精品美女视频| 天堂影院一区二区| 国产成人8x视频一区二区 | 天堂成人免费av电影一区| 蓝色福利精品导航| 99re8在线精品视频免费播放| 欧美人与性动xxxx| 国产日韩欧美精品综合| 亚洲制服丝袜在线| 国产精品一区在线| 欧美偷拍一区二区| 国产亚洲成av人在线观看导航| 亚洲综合激情小说| 国产乱码精品1区2区3区| 欧美日韩亚洲高清一区二区| 国产精品丝袜一区| 日韩黄色在线观看| 色天天综合久久久久综合片| 精品国产91久久久久久久妲己| 亚洲精品国产精品乱码不99| 国产一区二区三区四区在线观看| 欧美私模裸体表演在线观看| 久久女同精品一区二区| 午夜国产精品影院在线观看| av亚洲精华国产精华精| 精品国产污网站| 亚洲1区2区3区4区| 91麻豆免费看| 日本一区二区成人| 国内精品国产成人国产三级粉色| 欧美三级视频在线| 亚洲天堂网中文字| 国产精品资源网| 精品日韩在线一区| 亚洲aaa精品| 欧美做爰猛烈大尺度电影无法无天| 久久九九国产精品| 国产精品一二三四| 91精品国产综合久久蜜臀| 亚洲午夜精品网| 91福利在线导航| 亚洲免费电影在线| 99r国产精品| 国产精品美日韩| 国产高清亚洲一区| 国产日韩视频一区二区三区| 久久99久久精品| 欧美一级xxx| 三级欧美在线一区| 欧美另类videos死尸| 五月婷婷色综合| 欧美日韩精品一区二区三区四区 | 成人av免费在线观看| 久久九九久久九九| 国产成人精品免费看| 中文字幕高清不卡| 大白屁股一区二区视频| 国产欧美久久久精品影院| 国产黄色91视频| 国产农村妇女毛片精品久久麻豆 | 欧美日韩国产高清一区二区| 亚洲国产婷婷综合在线精品| 欧美三级视频在线| 全国精品久久少妇| 久久天天做天天爱综合色| 国产精品亚洲综合一区在线观看| 久久久久国产免费免费| 国产成人8x视频一区二区| 国产精品精品国产色婷婷| 91免费版pro下载短视频| 亚洲精品乱码久久久久久| 欧美日韩亚洲丝袜制服| 久久国产精品露脸对白| 国产亲近乱来精品视频| 99国内精品久久| 天天色图综合网| 久久综合色8888| 成人黄色小视频在线观看| 一区二区三区四区av| 91精品欧美久久久久久动漫 | 亚洲欧美偷拍另类a∨色屁股| 在线免费亚洲电影| 琪琪久久久久日韩精品| 久久久噜噜噜久噜久久综合| 99视频在线观看一区三区| 亚洲在线观看免费视频| 日韩一区二区三免费高清| 粉嫩高潮美女一区二区三区| 一区二区久久久| xnxx国产精品| 欧美最猛黑人xxxxx猛交| 经典一区二区三区|