fork download
  1. #include<stdio.h>
  2. #define SIZE 100
  3. int queue[SIZE];
  4. int front=0;
  5. int rear=0;
  6.  
  7. void enQueue(int data){
  8. printf("enQueue> front= %d rear= %d\n",front,rear);
  9. if(rear>=SIZE)return;
  10. queue[rear]=data;
  11. rear++;
  12. }
  13.  
  14. int deQueue(void){
  15. printf("deQueue> front= %d rear= %d\n",front,rear);
  16. if(front==rear){
  17. printf("deQueue> queue empty\n");
  18. return-1;
  19. }
  20. return queue[front++];
  21. }
  22.  
  23. void printQueue(void){
  24. int i=0;
  25. printf("printQueue> ");
  26. for(i=front;i<rear;i++)printf("%d ",queue[i]);
  27. printf("\n");
  28. }
  29.  
  30. int main(void){
  31. enQueue(1);
  32. enQueue(2);
  33. enQueue(3);
  34. printQueue();
  35. printf("deQueue: %d\n",deQueue());
  36. printf("deQueue: %d\n",deQueue());
  37. printf("deQueue: %d\n",deQueue());
  38. printf("deQueue: %d\n",deQueue());
  39. return 0;
  40. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
enQueue> front= 0 rear= 0
enQueue> front= 0 rear= 1
enQueue> front= 0 rear= 2
printQueue> 1 2 3 
deQueue> front= 0 rear= 3
deQueue: 1
deQueue> front= 1 rear= 3
deQueue: 2
deQueue> front= 2 rear= 3
deQueue: 3
deQueue> front= 3 rear= 3
deQueue> queue empty
deQueue: -1