Advertisement
LoganBlackisle

QueueArray

Jun 17th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. package prep_28_queue;
  2.  
  3. public class QueueArray {
  4. private static int front, rear, capacity;
  5. private static int queue[];
  6.  
  7. QueueArray(int c) {
  8. front = rear = 0;
  9. capacity = c;
  10. queue = new int[capacity];
  11. }
  12.  
  13. // function to insert an element
  14. // at the rear of the queue
  15. static void queueEnqueue(int data) {
  16. // check queue is full or not
  17. if (capacity == rear) {
  18. System.out.printf("\nQueue is full\n");
  19. return;
  20. }
  21.  
  22. // insert element at the rear
  23. else {
  24. queue[rear] = data;
  25. rear++;
  26. }
  27. return;
  28. }
  29.  
  30. // function to delete an element
  31. // from the front of the queue
  32. static void queueDequeue() {
  33. // if queue is empty
  34. if (front == rear) {
  35. System.out.printf("\nQueue is empty\n");
  36. return;
  37. }
  38.  
  39. // shift all the elements from index 2 till rear
  40. // to the right by one
  41. else {
  42. for (int i = 0; i < rear - 1; i++) {
  43. queue[i] = queue[i + 1];
  44. }
  45.  
  46. // store 0 at rear indicating there's no element
  47. if (rear < capacity)
  48. queue[rear] = 0;
  49.  
  50. // decrement rear
  51. rear--;
  52. }
  53. return;
  54. }
  55.  
  56. // print queue elements
  57. static void queueDisplay() {
  58. int i;
  59. if (front == rear) {
  60. System.out.printf("\nQueue is Empty\n");
  61. return;
  62. }
  63.  
  64. // traverse front to rear and print elements
  65. for (i = front; i < rear; i++) {
  66. System.out.printf(" %d <-- ", queue[i]);
  67. }
  68. return;
  69. }
  70.  
  71. // print front of queue
  72. static void queueFront() {
  73. if (front == rear) {
  74. System.out.printf("\nQueue is Empty\n");
  75. return;
  76. }
  77. System.out.printf("\nFront Element is: %d", queue[front]);
  78. return;
  79. }
  80.  
  81. // Driver code
  82. public static void main(String[] args) {
  83. // Create a queue of capacity 4
  84. QueueArray q = new QueueArray(4);
  85.  
  86. // print Queue elements
  87. q.queueDisplay();
  88.  
  89. // inserting elements in the queue
  90. q.queueEnqueue(20);
  91. q.queueEnqueue(30);
  92. q.queueEnqueue(40);
  93. q.queueEnqueue(50);
  94.  
  95. // print Queue elements
  96. q.queueDisplay();
  97.  
  98. // insert element in the queue
  99. q.queueEnqueue(60);
  100.  
  101. // print Queue elements
  102. q.queueDisplay();
  103.  
  104. q.queueDequeue();
  105. q.queueDequeue();
  106. System.out.printf("\n\nafter two node deletion\n\n");
  107.  
  108. // print Queue elements
  109. q.queueDisplay();
  110.  
  111. // print front of the queue
  112. q.queueFront();
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement