diff --git a/Stacks & Queues/Java/Reversing_a_queue.java b/Stacks & Queues/Java/Reversing_a_queue.java new file mode 100644 index 0000000..d2b9634 --- /dev/null +++ b/Stacks & Queues/Java/Reversing_a_queue.java @@ -0,0 +1,39 @@ +import java.util.*; +import java.io.*; +import java.util.LinkedList; + +public class Main{ + + static void Print(Queue q) + { + for(Integer x: q) + System.out.print(x + " "); + } + + + static void reverse(Queue q) + { + if(q.isEmpty()) + return; + + int x = q.peek(); + q.remove(); + + reverse(q); + q.add(x); + + } + + public static void main(String args[]) + { + Queue queue = new LinkedList(); + queue.add(12); + queue.add(5); + queue.add(15); + queue.add(20); + + reverse(queue); + Print(queue); + } +} +