|  | 
 
| 
本帖最后由 圣狄雅哥 于 2018-2-8 21:13 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 #define MaxQsize 10
 typedef int Status
 typedef int ElemType;
 typedef struct{
 ElemType *base;
 int front;
 int rear;
 Status tag;
 }Queue;
 
 Status InitQueue(Queue*q)
 {
 q->base=(ElemType*)malloc(MaxQsize*sizeof(ElemType));
 if(!q->base)   return FALSE;
 q->front=q->rear=0;
 q->tag=0;
 return OK;
 }
 
 Status EnQueue(Queue *q,ElemType e)
 {
 if(q->front==q->rear&&q->tag)    return FALSE;
 else{
 q->base[q->rear]=e;
 q->rear=(q->rear+1)%MaxQsize;
 if(q->rear==q->front)
 q->tag=1;
 }
 return OK;
 }
 
 Status DeQueue(Queue *q,ElemType *e)
 {
 if(q->front==q->rear&&!q-.tag)    return FALSE;
 else{
 *e=q->base[q->front];
 q->front=(q->front+1)%MaxQsize;
 if(q->front==q->rear)
 q->tag=0;
 }
 return OK;
 }
 | 
 |