Advertisement
LoganBlackisle

reverseQueue

Jun 17th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. package prep_22_recursion;
  2.  
  3. import java.util.LinkedList;
  4. import java.util.Queue;
  5.  
  6. public class ReverseAQueue {
  7. public static Queue<Integer> queue;
  8.  
  9. // Utility function to print the queue
  10. public static void Print() {
  11. while (!queue.isEmpty()) {
  12. System.out.print(queue.peek() + " ");
  13. queue.remove();
  14. }
  15. }
  16.  
  17. // Recurrsive function to reverse the queue
  18. public static Queue<Integer> reverseQueue(Queue<Integer> q) {
  19. // Base case
  20. if (q.isEmpty()) {
  21. return q;
  22. }
  23.  
  24. // Dequeue current item (from front)
  25. int data = q.peek();
  26. q.remove();
  27.  
  28. // Reverse remaining queue
  29. q = reverseQueue(q);
  30.  
  31. // Enqueue current item (to rear)
  32. q.add(data);
  33.  
  34. return q;
  35. }
  36.  
  37. // Driver code
  38. public static void main(String args[]) {
  39. queue = new LinkedList<Integer>();
  40. queue.add(56);
  41. queue.add(27);
  42. queue.add(30);
  43. queue.add(45);
  44. queue.add(85);
  45. queue.add(92);
  46. queue.add(58);
  47. queue.add(80);
  48. queue.add(90);
  49. queue.add(100);
  50. queue = reverseQueue(queue);
  51. Print();
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement