#include <iostream>
#include <string>
using namespace std;
class Process
{
public:
string pName;
int aTime;
int eTime;
Process()
{}
Process(const Process &a)
{
pName=a.pName;
aTime=a.aTime;
eTime=a.eTime;
}
};
void main()
{
cout<<"这个程序演示FCFS算法."<<endl;
int n;
cout<<"请输入你要建立的进程个数:";
cin>>n;
cout<<endl;
Process A[100];
int i;
for (i=1;i<=n;i++)
{
cout<<"请输入第"<<i<<"个进程的进程名,提交时间,运行时间:"<<endl;
cin>>A[i].pName>>A[i].aTime>>A[i].eTime;
}
int p,q,r;
for(p=2;p<=n;p++)
{
A[0]=A[p];
q=p-1;
while(A[0].aTime<A[q].aTime)
q--;
q++;
for(r=p;r>q;r--)
{
A[r]=A[r-1];
}
A[q]=A[0];
}
cout<<"运行序列:";
for(i=1;i<n+1;i++)
{
cout<<A[i].pName<<A[i].eTime;
}
cout<<endl;
int sum=0;
cout<<"各进程运行周期:"<<endl;
for(i=1;i<n+1;i++)
{
sum=sum+A[i].eTime;
cout<<A[i].pName<<":"<<sum-A[i].aTime<<endl;
}
}