为了账号安全,请及时绑定邮箱和手机立即绑定

(3)循环队列采用不损失一个空间,通过设置标志域的方法,实现循环队列的的初始化、入队怎么编?

typedef  struct  squeue

{   ElemType   data[QueueSize] ;

    int  front ;

    int  rear ;

    int flag;}SqQueue;

void initqueue(squeue*&qu)

{

qu=(squeu*)malloc(sizeof(squeue));

qu->rear=qu->front=qu->flag=0;

}int enqueue(squeue*sq,ElemType x){

if(sq->rear==sq->front&&sq->flag>0)

return 0;

sq->data[sq->rear]=x;

sq->rear=(sq->rear+1)%QueueSize;

sq-flag++;

return 1;

}

int outqueue(squeue*sq,ElemType &x){

if(sq->flag==0)

return 0;

x=sq->data[sq->front];

sq->front=(sq->front+1)%QueueSize;

sq->flag--;

return 1;}

int gethead(squeue *sq,ElemType &x){

if(sq->rear==sq->front)

return 0;

x=sq->data[ (sq->front)%QueueSize];

return 1;}

int emptyp(squeue *sq)

{

if(sq->flag==0)

return 1;

else

return 0;}



正在回答

举报

0/150
提交
取消
数据结构探险—队列篇
  • 参与学习       110149    人
  • 解答问题       183    个

与现实最为贴近的数据结构-队列,带大家进入数据结构的美妙世界

进入课程

(3)循环队列采用不损失一个空间,通过设置标志域的方法,实现循环队列的的初始化、入队怎么编?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号