Tuesday, March 29, 2011

Way to reverse a Queue in Java

Sample class to explain reversing a queue using recursion:

public class Demo {
public static void main(String[] args){
Queue queue = new LinkedList();
for(int i=0;i<10;i++){
if(queue.size()==4){
queue.poll();
queue.add(i);
}else{
queue.add(i);
}
}
System.out.println(queue);
Demo demo =new Demo();
demo.dequeue(queue);
System.out.println(queue);
}

private void dequeue(Queue queue){
if(queue.size()!=0){
int i=(Integer)queue.poll();
dequeue(queue);
queue.add(i);
}
}
}

Followers