Full width home advertisement

HTML

Tech News

Ad

  1. /*
  2. implementection of deque
  3. */
  4.  
  5.  
  6. #include<stdio.h>
  7. #include<stdlib.h>
  8. #define N 5
  9.  
  10. //Global Var Declaractions
  11. int F=-1,R=-1;
  12. int dque[N];
  13.  
  14. //Function declaractions
  15. void EnqueFront(int x); //Insert From Front
  16. void EnqueRear(int x); //Insert From Rear
  17. void DequeFront(); //Delete From Front
  18. void DequeRear(); //Delete From Rear
  19. void Display(); //Display
  20.  
  21. //Driver Program
  22. int main(){
  23. int choice,x;
  24. do{
  25. printf("\n\n**Deque Operactions**\n");
  26. printf("1. Enque Front\n");
  27. printf("2. Enque Rear\n");
  28. printf("3. Deque Front\n");
  29. printf("4. Deque Rear\n");
  30. printf("5. Display\n");
  31. printf("0 To exit\n");
  32. printf("Enter Choice");
  33. scanf("%d",&choice);
  34. switch(choice){
  35. case 1:
  36. printf("\nEnter Value ");
  37. scanf("%d",&x);
  38. EnqueFront(x);
  39. break;
  40. case 2:
  41. printf("\nEnter Value ");
  42. scanf("%d",&x);
  43. EnqueRear(x);
  44. break;
  45. case 3:
  46. DequeFront();
  47. break;
  48. case 4:
  49. DequeRear();
  50. break;
  51. case 5:
  52. Display();
  53. break;
  54. case 0:
  55. exit(0);
  56. break;
  57. default:
  58. printf("\n! Wrong Choice !");
  59. }
  60. }while(choice!=0);
  61. return 0;
  62. }
  63.  
  64. void EnqueFront(int x){
  65. if(F==0 && R==N-1 || F==(R+1)){
  66. printf("\nQueue Is Full\n");
  67. }
  68. else if(F==-1 && R==-1){
  69. F=R=0;
  70. dque[F]=x;
  71. }
  72. else if(F==0){
  73. F=N-1;
  74. dque[F]=x;
  75. }
  76. else{
  77. F--;
  78. dque[F]=x;
  79. }
  80. }
  81.  
  82. void EnqueRear(int x){
  83. if(F==0 && R==N-1 || F==(R+1)){
  84. printf("\nQueue Is Full\n");
  85. }
  86. else if(F==-1 && R==-1){
  87. F=R=0;
  88. dque[R]=x;
  89. }
  90. else if(R==N-1){
  91. R=0;
  92. dque[R]=x;
  93. }
  94. else{
  95. R++;
  96. dque[R]=x;
  97. }
  98. }
  99.  
  100. void DequeFront(){
  101. if(F==-1 && R==-1){
  102. printf("\nQueue Is Empty\n");
  103. }
  104. else if(F==R){
  105. F=R=-1;
  106. }
  107. else if(F==N-1){
  108. printf("%d ",dque[F]);
  109. F=0;
  110. }
  111. else{
  112. printf("%d ",dque[F]);
  113. F++;
  114. }
  115. }
  116.  
  117. void DequeRear(){
  118. if(F==-1 && R==-1){
  119. printf("\nQueue Is Empty\n");
  120. }
  121. else if(F==R){
  122. F=R=-1;
  123. }
  124. else if(R==0){
  125. printf("%d",dque[R]);
  126. R=N-1;
  127. }
  128. else{
  129. printf("%d",dque[R]);
  130. R--;
  131. }
  132. }
  133.  
  134. void Display(){
  135. int i=F;
  136. if(F==-1 && R==-1){
  137. printf("\nQue Is Empty\n");
  138. }
  139. else{
  140. while(i!=R){
  141. printf("%d ",dque[i]);
  142. i=(i+1)%N;
  143. }
  144. printf(" %d",dque[i]);
  145. }
  146. }

No comments:

Post a Comment

Bottom Ad [Post Page]