Queue

#ifndef _QUEUE_H_INLCUDE #define _QUEUE_H_INLCUDE #define QUEUE_MAXSIZE 10 typedef struct { int * queue; int front,rear; } Queue; void InitQueue(Queue &Q); void EnterQueue(Queue &Q, int x); void ExitQueue(Queue &Q, int &x); int QueueEmpty(Queue Q); #endif /************************************************************************/ /* queue operation */ /************************************************************************/ #include "Queue.h" #include #include void InitQueue(Queue &Q) { Q.front = 0; Q.rear = 0; Q.queue = (int * )malloc(sizeof(int) * QUEUE_MAXSIZE); if(Q.queue == NULL) { printf("allocate memory failed/n"); exit(-2); } } void EnterQueue(Queue &Q, int x) { if ((Q.rear + 1) % QUEUE_MAXSIZE == Q.front) { printf("queue is full, enter queue failed/n"); } else { Q.queue[Q.rear] = x; Q.rear = (Q.rear + 1) % QUEUE_MAXSIZE; } } void ExitQueue(Queue &Q, int & x) { if (Q.front == Q.rear) { printf("queue is empty, delete from queue failed/n"); x = -1; } else { x= Q.queue[Q.front]; Q.front = (Q.front + 1) % QUEUE_MAXSIZE; } } /* if Queue is empty return 0 if Queue is not empty return -1 */ int QueueEmpty(Queue Q) { if (Q.front == Q.rear) { return 0; } else { return -1; } }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值