ntf( "队列为空,无法删除! ");
exit(1);
}
q- >front = (q->front +1) % q->maxSize; /* 使队首指针指向下一个位置 */
return q- >queue[q->front]; /* 返回队首元素 */
}
/* 4.读取队首元素,不改变队列状态 */
elemType peekQueue(struct queue *q)
{
/* 若队列为空则终止运行 */
if(q- >front == q->rear){
printf( "队列为空,无法删除! ");
exit(1);
}
return q- >queue[(q->front +1) % q->maxSize];/* 队首元素是队首指针的下一个位置中的元素 */
}
/* 5.检查一个队列是否为空,若是则返回1,否则返回0 */
int emptyQueue(struct queue *q)
{
if(q- >front == q->rear){
return 1;
}else{
return 0;
}
}
/* 6.清除一个队列,并释放动态存储空间 */
void clearQueue(struct queue *q)
{
if(q- >queue != NULL){
free(q- >queue);
q- >queue = NULL; /* 设置队列空间指针为空 */
q- >front = q->rear = 0; /* 设置队列为空 */
q- >maxSize = 0; /* 设置队列大小为0 */
}
return;
}
/************************************************************************/
int main(int argc, char* argv)
{
struct queue q;
int a = {3, 8, 5, 17, 9, 30, 15, 22};
int i;
initQueue( &q, 5);
for(i = 0; i < 8; i++){
enQueue( &q, a[i]);
}
printf( "%d ", outQueue(&q)); printf("%d ",