大神小神修道之人帮我瞧瞧这个队列 哪里有点问题
就是静态队列的实现,有两个小问题,在什么地方找不到,帮我找找下,谢了先
程序代码:#include<stdio.h>
#include<malloc.h>
typedef struct
{
int* date;
int front;
int rear;
} QUE;
void init(QUE*);
int pop(QUE*,int *val);
bool push(QUE*,int val);
bool empty(QUE*);
bool full(QUE*);
int main(void)
{
int val=0;
QUE Q;
init(&Q);
push(&Q,1);
pop(&Q,&val);
};
void init(QUE* queue)
{
/*printf("请输入要创建队列长度\n");
scanf("%d",&queue->len);*/
queue->date=(int *)malloc(6*sizeof(int));
queue->front=queue->rear=0;
};
bool empty(QUE*queue)
{
if(queue->front%6==queue->rear%6)
{
return true;
}
else return false;
};
bool full(QUE*queue)
{
if((queue->rear+1)%6==queue->front)
{
return true;
}
else return false;
};
bool push(QUE* queue,int val)
{
if(full(queue))
{
printf("队列满了,不能添加\n");
return false;
}
else {
queue->date[queue->rear]=val;
queue->rear++;
};
int pop(QUE*queue,int *val)
{
if(empty(queue))
{
printf("队列空了\n");
return false;
}
else{
*val=queue->date[queue->front]
queue->front++;
return *val;
};
};









