顺序队列的C语言实现
#include #define MAXSIZE 101#define ELEMTYPE int#define QUEUE_EMPTY -10000typedef struct queue{ ELEMTYPE data[MAXSIZE]; int head; int tail;} Queue;void initQueue(Queue *Q);void enQueue(Queue *Q,ELEMTYPE e);ELEMTYPE deQueue(Queue *Q);int isQueueEmpty(Queue *Q);int isQueueFull(Queue *Q);void printQueue(Queue *Q);int main(void){ Queue SQ; initQueue(&SQ); int j; for(j=0;j<4;++j) { push(&SQ,j); } printQueue(&SQ); return 0;}void initQueue(Queue *Q){ Q->head = 1; Q->tail = 1;}void enQueue(Queue *Q,ELEMTYPE e){ if(isQueueFull(Q)) return; Q->data[Q->tail] = e; Q->tail ++;}ELEMTYPE deQueue(Queue *Q){ if(isQueueEmpty(Q)==1) return QUEUE_EMPTY; return Q->data[Q->head ++];}int isQueueEmpty(Queue *Q){ return Q->head == Q->tail;}int isQueueFull(Queue *Q){ return ( (Q->tail + 1)%MAXSIZE ) == Q->head ;}void printQueue(Queue *Q){ while(!isQueueEmpty(Q)) { printf("%d\t",pop(Q)); }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~