import java.util.LinkedList;
import java.util.Queue;
public class QueueChapter {
public static Queue interLeave_2_halves(Queue q) {
int i = 0;
int size = q.size();
Queue q1 = new LinkedList();
while (i < size / 2) {
q1.add(q.remove());
i++;
}
while (!q1.isEmpty()) {
q.add(q1.remove());
q.add(q.remove());
}
return q;
}
public static void main(String args[]) {
int input[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Queue qx = new LinkedList();
for (int x : input) {
qx.add(x);
}
Queue q = interLeave_2_halves(qx);
while (!q.isEmpty()) {
System.out.print(q.remove() + " ");
}
}
}