fork download
  1. /* build queue by array*/
  2. #include<bits/stdc++.h>
  3. #define N 10
  4. int f = 0 ,r = 0;
  5. int Q[N];
  6. void contruction() {
  7. for (int i = 0; i < N; ++i)
  8. {
  9. Q[i] = -1;
  10. }
  11. }
  12. int size() {
  13. return (N - f + r )%N;
  14. }
  15.  
  16. int is_full_queue() {
  17. return N - 1;
  18. }
  19.  
  20. void enqueue(int x) {
  21. if(size() == N - 1) {
  22. printf("Queue FUll\n");
  23. exit(1);
  24. } else {
  25. Q[r] = x;
  26. r = (r + 1)%N;
  27. printf("r = %d \n", r);
  28. }
  29. }
  30.  
  31. void display() {
  32. for(int i = f; i < r ; i ++) {
  33. printf("%d\n",Q[i]);
  34. }
  35. }
  36.  
  37. int main(int argc, char const *argv[])
  38. {
  39. /* code */
  40. contruction();
  41. enqueue(1);
  42. enqueue(2);
  43. enqueue(3);
  44. enqueue(4);
  45. enqueue(5);
  46. enqueue(6);
  47. enqueue(7);
  48. enqueue(8);
  49. enqueue(9);
  50. enqueue(10);
  51. display();
  52. return 0;
  53. }
  54.  
Runtime error #stdin #stdout 0s 4412KB
stdin
Standard input is empty
stdout
r = 1 
r = 2 
r = 3 
r = 4 
r = 5 
r = 6 
r = 7 
r = 8 
r = 9 
Queue FUll