www.pudn.com > 进程调度111.rar > jcdd.cpp
#include#include #define max 3 struct pub{ int flag; char *ch; int status; int count; pub *next; } *run,*head,*tail; int a[100]; char *name[100]; int countn; void creat(int); void schel(pub *); void main() { int n; pub *t; head=tail=NULL; cout<<"请输入需要创建的进程个数n"< >n; countn=n; cout<<"请输入所创建的进程名和所需时间片:"< >name[i]; cin>>a[i]; } creat(n); t=head; while(head) { cout< ch<<" "; head=head->next; } cout< max) { cout<<"进程控制块数量不足,后面进程的执行需要等待进程控制块释放"< ch=name[i]; p->count=a[i]; if(head==NULL) { head=p; tail=p; } else { p->next=NULL; tail->next=p; tail=p; } tail->status=0; tail->flag=i; } } void schel(pub *pb) { int i=countn-max-1; int j=1; cout<<"系统按时间片为2的速度开始调度"< next; run->status=1; run->count=run->count-2; run->next=NULL; cout<<"当前执行进程是---"< ch< status=0; if(run->count>0) { run->next=NULL; tail->next=run; tail=run; } else { if((countn-j)>=3) { cout<<"进程"< count=a[countn-i]; p->ch=name[countn-i]; p->next=NULL; tail->next=p; tail=tail->next; i=i-1; j=j+1; } } } }