fork download
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #define SIZE 5
  4. int front = -1;
  5. int rear = -1;
  6. int queue[SIZE];
  7. void enqueue(int item);
  8. int dequeue();
  9. void display();
  10. void main()
  11. {
  12. int item, choice, cont = 1;
  13. clrscr();
  14.  
  15. while(cont == 1)
  16. {
  17. printf("\n1.Enqueue into queue.\n");
  18. printf("\n2.Dequeue from queue.\n");
  19. printf("\n3.display quesue elements\n");
  20.  
  21. printf("\nEnter your choice: ");
  22. scanf("%d",&choice);
  23.  
  24. switch(choice)
  25. {
  26. case 1:
  27. printf("\nEnter the value of item: ");
  28. scanf("%d",&item);
  29. enqueue(item);
  30. break;
  31.  
  32. case 2:
  33. item = dequeue();
  34. if(item != NULL)
  35. {
  36. printf("\nItem dequeued: %d\n",item);
  37. }
  38. break;
  39. case 3:
  40. display();
  41. break;
  42.  
  43. default:
  44. printf("\nInvalid choice.\n");
  45. break;
  46. }
  47.  
  48. printf("\nDo you want to continue (1/0): ");
  49. scanf("%d",&cont);
  50. }
  51.  
  52. getch();
  53. }
  54.  
  55.  
  56. void enqueue(int item)
  57. {
  58. int temp = (rear+1)%SIZE; // EDIT HERE
  59. if(temp == front ){
  60. printf("\n Queue OverFlow Occured");
  61. return;
  62. }
  63. else if(front==-1 )
  64. {
  65. front=rear=0;
  66. queue[rear]=item;
  67. return;
  68. }
  69. else{
  70. rear = (rear+1)%SIZE; // EDIT HERE
  71. queue[rear]=item;
  72. }
  73. }
  74. int dequeue()
  75. {
  76. int item = NULL;
  77. if( front == rear) // modified condition
  78. {
  79. printf("\nQueue is empty. Dequeue not possible.\n");
  80. }
  81. else
  82. {
  83. item = queue[front];
  84. queue[front] = NULL;
  85. front++; // front must be incremented
  86. if(front > rear) // front == rear means 1 element is left , it doesn't mean Queue is empty
  87. {
  88. front = -1;
  89. rear = -1;
  90. }
  91. }
  92. return(item);
  93. }
  94. void display()
  95. {
  96. int i;
  97. if(front==-1)
  98. printf("\n No elements to display");
  99. else
  100. {
  101. printf("\n The queue elements are:\n ");
  102. for(i=front;i<=rear;i++)
  103. {
  104. printf("%d\t",queue[i]);
  105. }
  106. }
  107. }
  108.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c:2:18: fatal error: conio.h: No such file or directory
compilation terminated.
stdout
Standard output is empty