DS | Practical-6 | C Program to Implement of Circular Queue Using Array

 

Write a C Program to Implement of Circular Queue Using Array.


GTU DS Practical-6

Write a program to implement Circular Queue using arrays that perform the following
operations. 

(a) INSERT (b) DELETE (c) DISPLAY


  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #define max 5
  4. int front=-1,rear=-1; // global variable
  5. int CQueue[max];
  6. void insert();
  7. int delete();
  8. void display();
  9. int main()
  10. {
  11. int w,no;
  12. for(;;)
  13. {
  14. printf("\n1. Insert");
  15. printf("\n2. Delete");
  16. printf("\n3. Display");
  17. printf("\n4. EXIT");
  18. printf("\nEnter what you want :");
  19. scanf("%d",&w);
  20. switch(w)
  21. {
  22. case 1:
  23. insert();
  24. break;
  25. case 2:
  26. no=delete();
  27. break;
  28. case 3:
  29. display();
  30. break;
  31. case 4:
  32. exit(1);
  33. default:
  34. printf("\nInvalid Choice !!\n");
  35. }
  36. }
  37. }
  38. void insert()
  39. {
  40. int no;
  41. if((front ==0 && rear == max-1) || front == rear+1)
  42. {
  43. printf("\nCircular Queue Is Full !\n");
  44. return;
  45. }
  46. printf("\nEnter a number to Insert :");
  47. scanf("%d",&no);
  48. if(front==-1)
  49. front=front+1;
  50. if(rear==max-1)
  51. rear=0;
  52. else rear=rear+1;
  53. CQueue[rear]=no;
  54. }
  55. int delete()
  56. {
  57. int e;
  58. if(front==-1)
  59. {
  60. printf("\nThe Circular Queue is Empty !!\n");
  61. }
  62. e=CQueue[front];
  63. if(front==max-1)
  64. front=0;
  65. else if(front==rear)
  66. {
  67. front=-1;
  68. rear=-1;
  69. }
  70. else front=front+1;
  71. printf("\n%d was deleted !\n",e);
  72. return e;
  73. }
  74. void display()
  75. {
  76. int i;
  77. if(front==-1)
  78. {
  79. printf("\nThe Circular Queue is Empty ! Nothing To Display !!\n");
  80. return;
  81. }
  82. i=front;
  83. if(front<=rear)
  84. {
  85. printf("\n\n");
  86. while(i<=rear)
  87. printf("%d ",CQueue[i++]);
  88. printf("\n");
  89. }
  90. else
  91. {
  92. printf("\n\n");
  93. while(i<=max-1)
  94. printf("%d ",CQueue[i++]) ;
  95. i=0;
  96. while(i<=rear)
  97. printf("%d ",CQueue[i++]);
  98. printf("\n");
  99. }
  100. }

Output

Go to Home Page :

Practical - 5 :

Practical - 7 :

Comments