013数据结构之循环对列的基本操作

typedefstructCirleQueue

{

  intdata[10];

  intfront;

  intrear;

}CirleQueue;

voidInitCirQueue(CirleQueueQ)

{

  Q.rear=9;

  Q.front=9;

}

boolIsFull(CirleQueueQ)

{

  if((Q.rear+1)%10==Q.front)

    returntrue;

  returnfalse;

}

voidEnterCirQueue(CirleQueueQ,intdwValue)

{

  boolbRs=IsFull(Q);

  if(bRs)

    return;

  Q.rear=(Q.rear+1)%10;

  Q.data[Q.rear]=dwValue;

}

boolIsEmpty(CirleQueueQ)

{

  if(Q.rear==Q.front)

    returntrue;

  returnfalse;

}

intDeCirQueue(CirleQueueQ)

{

  if(IsEmpty(Q))

    return-1;

  Q.front=(Q.front+1)%10;

  returnQ.data[Q.front];

}

//GetFront

intGetFront(CirleQueueQ)

{

  if(IsEmpty(Q))

    return-1;

  returnQ.data[(Q.front+1)%10];

}

intmain(intargc,char*argv[])

{

  printf("HelloWorld!\n");

  return0;

}

赞赏

长按







































庆国庆中科白癜风迎专家
北京什么白癜风医院最好



转载请注明:http://www.92nongye.com/ksfc/204619607.html

  • 上一篇文章:
  •   
  • 下一篇文章: