一道操作系统算法题?假定就绪状态的进程按其优先级自小到大排成队列,当有一进程进要进入就绪队列时,应按它的优先级排在相应位置上,试写出进程入队列的程序.给出的答案是:考虑单连
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 13:32:05
一道操作系统算法题?假定就绪状态的进程按其优先级自小到大排成队列,当有一进程进要进入就绪队列时,应按它的优先级排在相应位置上,试写出进程入队列的程序.给出的答案是:考虑单连
一道操作系统算法题?
假定就绪状态的进程按其优先级自小到大排成队列,当有一进程进要进入就绪队列时,应按它的优先级排在相应位置上,试写出进程入队列的程序.给出的答案是:考虑单连接方式,如对过程如下:car head,p,q.addpcd:link; begin if head=nil then begin head:=addpcb:head→next=nil end; else begin p:=head while p=p→pri do begin q:=p; p:=p→next end; q→next:=addpcb; add→next:=p end;
一道操作系统算法题?假定就绪状态的进程按其优先级自小到大排成队列,当有一进程进要进入就绪队列时,应按它的优先级排在相应位置上,试写出进程入队列的程序.给出的答案是:考虑单连
nil Lua中的关键字,与C++里的NULL不同,NULL是一个宏定义,值为0,nil表示无值 任何变量在没有被赋值之前的值都为nil,对于真假判断,只有nil与false表示假,其余均为真 在Programming in Lua 程序设计 第二版中 原文是这样写的: nil是一种类型,它只有一个值nil,它的主要功能是用于区别其他任何值,就像之前所说的,一个全局变量在第一次赋值前的默认值就是nil,将nil赋予一个全局变量等同于删除它,Lua将nil用于表示一种“无效值(non-value)”的情况,既没有任何有效值的情况 是LUA语言么?我不知道 那么我就看的懂就看看,反正我是个菜鸟,没听说过这东西 来看看: 定义head p q addpcd共四个链接(即自小到大的进程 p q addpcd head应该是插入进程吧) 开始 如果head不存在 那么 开始 head赋值给addpcb (就是让head变为addpcd链接){这样的话就让head变成了addpcb,再最前面,进程没有改动) head的下一个链接赋值为零(不存在){再最前面后再清空多出来的一个一样的进程) 结束 反之(及head存在) 开始 p赋值给head{从最小的开始,即试着将head放在最小的一位} 当P链接(即head)低于或等于零 并且 addpcb的主数率接口超过或等于P的主数率接口时 做 开始 q 赋值给P{q变成p(head),即第二个变成第一个链接也就是插入进来的head} P赋值给P的下一个链接{同样的,这是P(head)的下一个链接就是q,q到了第一个位子去了} {这时第三个链接还是addpcb) 结束{这时的顺序为q head addpcb} q的下一个链接赋值给addpcb {(如果一开始就符合条件了,直接跳过来)q本来就是在addpcb后的所以q的下一个还是addpcb} add(应该是addpcb吧)的下一个链接赋值给p{之前已经判断了head大于addpcb所以addpcb的下一个链接是p(head)} {这时的顺序为:q addpcb head或者一开始就没有经过while 哪里顺序为:head q addpcb} 结束 实则用翻译软件翻译了一遍,我也没看懂.
希望采纳