reversing first K elements
import java.util.*;
public class ReversingTheFirstKelements {
public static void ReverseK(Queue<Integer> q, int k) {
Stack<Integer> s = new Stack<>();
for (int i = 0; i < k; i++) {
s.push(q.poll());
}
while (!s.isEmpty()) {
q.add(s.pop());
}
for (int i = 0; i < q.size() - k; i++) {
q.add(q.poll());
}
int size = q.size();
for (int i = 0; i < size; i++) {
q.add(q.poll());
}
}
public static void main(String[] args) {
Queue<Integer> q = new LinkedList<>();
q.add(10);
q.add(20);
q.add(30);
q.add(40);
q.add(50);
q.add(60);
q.add(70);
q.add(80);
q.add(90);
System.out.println("Enter K:");
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
ReverseK(q, k);
System.out.println(q);
}
}
Comments
Post a Comment