【资料图】
1、#include#include#includeusing namespace std;struct PCB{ string p_name;//程序名 int super;//优先级 double ndtime;//需要时间 double runtime;//运行时间 string state;//状态 bool operator<(const PCB& nd) { return super>nd.super ; }};int main(){ int n,i,j,nn=0; cout<<"请输入进程总个数?"; cin>>n; PCB *PB=new PCB[n]; for(i=0;i>PB[i].p_name ; cout<<"输入进程优先级数<0~99>:"; cin>>PB[i].super ; cout<<"输入进程运行时间:"; cin>>PB[i].ndtime ; nn +=PB[i].ndtime ; PB[i].runtime =0;PB[i].state ="W"; } sort(PB,PB+n); int k=PB[0].super ; queue*que=new queue[k+1]; for(i=0;i0) PB[kk].super -=1; que[k].pop (); cout<<"*-*-*-*-*-*-* 当前就绪队列状态为: *-*-*-*-*-*-*"; for(j=0;j0) k--; } else { PB[kk].state ="W"; if(k>0) que[k-1].push (PB[kk]); else que[k].push (PB[kk]); if(que[k].empty ()&&k>0) k--; } } cout<<"进程已全部完成."<
2、,就不写了 不给我分数我觉得很冤枉 因为为了这个程序我写了1个多小时 没有功劳也会苦劳啊。
本文到此分享完毕,希望对大家有所帮助。