标签:www print png ges get hive push src 队列
http://www.cnblogs.com/kaituorensheng/archive/2013/03/02/2939690.html
//前提已知 typedef struct queue { int queuesize; int head, tail; int *q; }Queue; void InitQueue(Queue *q); void EnQueue(Queue *q, int key); int DeQueue(Queue *q); int SizeOfQueue(Queue *q); int IsQueueEmpty(Queue *q); int IsQueueFull(Queue *q);
思路
q1是专职进出栈的,q2只是个中转站
图示
参考代码
void Push(Queue *q1, Queue *q2, int k) { EnQueue(q1, k); } int Pop(Queue *q1, Queue *q2) { int tmp; if(IsQueueEmpty(q1) == 1) { printf("Stack Empty!\n"); } else { while(SizeOfQueue(q1) != 1) { EnQueue(q2, DeQueue(q1)); } tmp = DeQueue(q1); while(IsQueueEmpty(q2) == 0) { EnQueue(q1, DeQueue(q2)); } return tmp; } }
标签:www print png ges get hive push src 队列
原文地址:http://www.cnblogs.com/wft1990/p/7461482.html