⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcf&lsfsort.cpp

📁 作业调度设计 进程的切换
💻 CPP
字号:
#include<iostream>
#include<iomanip>
using namespace std;
const int num=5;
struct datatype
{
	int ID;
	int runTime;
	int storageSpace; 
};
datatype data[num];
	
int input(datatype data[],int num)
{
   	int i;
	for(i=0;i<num;i++) 
	{
		cout<<"Please input ID, RunTime, StroageSpace."<<endl;
		cin>>data[i].ID;
		cin>>data[i].runTime;
		cin>>data[i].storageSpace;
	}
	return 0;
}

void FCFSSort(datatype data[],int num)
{
	int waitingTime=0,totoalWaitingTime=0;
	int i;
		cout<<setw(1)<<"Num"<<setw(4)<<"ID"<<setw(10)<<"runTime"<<setw(14)
			<<"storageSpace"<<setw(14)<<"waitingTime"<<endl;
	for(i=0;i<num;i++) 
	{
		cout<<setw(2)<<i+1<<setw(4)
			<<data[i].ID<<setw(8)
		    <<data[i].runTime<<setw(12)
		    <<data[i].storageSpace<<setw(14)
			<<waitingTime<<endl;
		totoalWaitingTime=totoalWaitingTime+waitingTime;
		waitingTime=waitingTime+data[i].runTime;
		
	}
	cout<<"The whole waiting time is: "<<totoalWaitingTime<<endl;
}

void LSFSSort(datatype data[],int num)
{
	int index,smallestIndex,minIndex,temp;
	for (index=0;index<num-1;index++)
	{
		smallestIndex=index;
		for(minIndex=index+1;minIndex<num;minIndex++)
			if(data[minIndex].storageSpace <data[smallestIndex].storageSpace)
				smallestIndex=minIndex;
			temp=data[smallestIndex].ID;
			data[smallestIndex].ID=data[index].ID;
			data[index].ID=temp;
			temp=data[smallestIndex].runTime;
			data[smallestIndex].runTime=data[index].runTime;
			data[index].runTime=temp;
			temp=data[smallestIndex].storageSpace;
			data[smallestIndex].storageSpace=data[index].storageSpace;
			data[index].storageSpace=temp;
	}
	FCFSSort(data,num);
}

int main()
{
	datatype data[num];
	input(data,num);
	cout<<"FCFSSort"<<endl;
	FCFSSort(data,num);
	cout<<"LSFSSort"<<endl;
	LSFSSort(data,num);
	return 0;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -