《设计一个按优先数调度算法实现处理器调度的程序》由会员分享,可在线阅读,更多相关《设计一个按优先数调度算法实现处理器调度的程序(3页珍藏版)》请在金锄头文库上搜索。
1、#include “stdio.h“ #include “malloc.h“ #include “string.h“ typedef struct node int time; int name; char statement; int num; struct node *next; node,*L; void createL(L if(!l) printf(“error!“); else l-next=NULL; L p,q; q=l; for(int i=0;iname); getchar(); printf(“请输入该进程的运行时间 time:n“); scanf(“%d“, print
2、f(“请输入其优先级数 num:n“); scanf(“%d“, getchar(); printf(“请输入其状态:n“); p-statement=getchar(); p-next=q-next; q-next=p; q=p; getchar(); void traL(L p=l-next; printf(“进程名t 运行时间t 优先数t 状态n“); while(p) printf(“ %dt%5dt%11dt %c“,p-name,p-time,p- num,p-statement);printf(“n“); p=p-next; void Sort(L while(tail!= l-
3、next) L pre = l; L cur = pre-next; while(cur != tail cur-next = cur-next-next; pre-next-next = cur; pre = pre-next; cur = pre-next; tail = cur; void run(L L p,r,q; q=l; if(l-next!=NULL) p=l-next; int j=0; printf(“第 k 次运行t 进程名t 运行时间t 优先数t 状态n“); while(p!=NULL) j+; printf(“%5dt %dt%5dt%11dt %c“,j,p- n
4、ame,p-time,p-num,p-statement); printf(“n“); p-num-; p-time-; if(p-time=0) p-statement=E; r=p;if(p-next!=NULL) l-next=p-next; free(r); p=l-next; else break; else Sort(l); if(l-next!=NULL) p=l-next; else break; void main() L l; int n; printf(“请输入进程的数目 n:n“); scanf(“%d“, createL(l,n); traL(l); run(l);