时间片轮转算法C版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

int Queue_c::qEnQueue(ElemType e)

{

if(qFull())return ERROR;

Q[rear]=e;

rear=(rear+1)%QueueNum;

return OK;

}

//=================qDeQueue=============================== ElemType Queue_c::qDeQueue()

{

ElemType e;

if(qEmpty())return ERROR;

e=Q[front];

Q[front]=QueuePre;

front=(front+1)%QueueNum;

return e;

}

//===================qGetNumber============================= int Queue_c::qGetNumber()

{int i;

i=((rear-front+QueueNum)%QueueNum);

return i;

}

//==================qGetElem============================== ElemType Queue_c::qGetElem(int i)

{

if(qEmpty()){cout<<"ERROR!"<

if(i>qGetNumber()-1)

{

cout<<"ERROR! there is no "<

return ERROR;

}

return Q[(front+i)%QueueNum];

}

//======================qShowQueue========================== int Queue_c::qShowQueue()

{int i;

if(qEmpty())return ERROR;

for(i=front;i!=rear%QueueNum;i=(i+1)%QueueNum)

{

cout<

}//endfor

cout<

return OK;

}

//======================qShowAll========================= /*int Queue_c::qShowAll()

{

int i;

for(i=0;i

cout<

return OK;

}*/

/* int Queue_c::qXChange(int i)

{

ElemType t;

if(1==qGetNumber())return OK;

if(qEmpty()){cout<<"ERROR!"<

if(i>qGetNumber()-1)

{

cout<<"ERROR! there is no "<

return ERROR;

}//endlf

t=Q[front];

Q[front]=Q[(i+front)%QueueNum];

Q[(i+front)%QueueNum]=t;

return OK;

}

*/

//========================================================

/************************End Of Class Queue_c***************** *****************/

/************************Class Work_c*************************** ***************/

//======================wCPU========================= int Work_c::wCPU()

{ int t;

ElemType temp;

//if(wScan(t))buf.qXChange(t);

buf.qDec();

temp=buf.qDeQueue();

if(temp>0)buf.qEnQueue(temp);

return OK;

}

//======================wScan=========================

//ElemType Work_c::wScan(int &t)

//{

//int i,m=12;

//ElemType temp;

//for(i=0;i

// {

// temp=buf.qGetElem(i);

// if(temp

// }//endfor

// if(m<=0||m>buf.qGetFrontElem())return ERROR;//如果是负数的话在这里就被拦下来了,所以,传出出去的m不可能是负数

//return m;

相关文档
最新文档