import java.util.LinkedList;
import java.util.Queue;
public class MergeQueues {
public static void main(String[] args) {
Queue<Integer> q1 = new LinkedList<>();
q1.add(1);
q1.add(3);
q1.add(5);
Queue<Integer> q2 = new LinkedList<>();
q2.add(2);
q2.add(4);
q2.add(6);
Queue<Integer> mergedQueue = merge(q1, q2);
// Print the merged queue
while (!mergedQueue.isEmpty()) {
System.out.print(mergedQueue.poll() + " ");
}
}
public static Queue<Integer> merge(Queue<Integer> q1, Queue<Integer> q2) {
Queue<Integer> mergedQueue = new LinkedList<>();
while (!q1.isEmpty() && !q2.isEmpty()) {
if (q1.peek() < q2.peek()) {
mergedQueue.add(q1.poll());
} else {
mergedQueue.add(q2.poll());
}
}
// Add remaining elements of q1, if any
while (!q1.isEmpty()) {
mergedQueue.add(q1.poll());
}
// Add remaining elements of q2, if any
while (!q2.isEmpty()) {
mergedQueue.add(q2.poll());
}
return mergedQueue;
}
}
MergeQueues.main(null)