Pages

Thursday, October 16, 2025

Interleave two halves of a Queue(even Length) in Java

 import java.util.*;


public class Main

{

    public static void interLeave(Queue<Integer> q) {

        Queue<Integer> firstHalf = new LinkedList<>();

        int size = q.size(); // size must be constant, or there will be anomaly.

        

        

        for(int i=0; i<size/2;i++) {

            

            firstHalf.add(q.remove());

            

        }

        

        

        while(!firstHalf.isEmpty()) {

            q.add(firstHalf.remove());

            q.add(q.remove());

        }

    }

    

public static void main(String[] args) {

        Queue<Integer> q = new LinkedList<>();

        q.add(1);

        q.add(2);

        q.add(3);

        q.add(4);

        q.add(5);

        q.add(6);

        q.add(7);

        q.add(8);

        q.add(9);

        q.add(10);

        

        interLeave(q);

        // print Q

        while(!q.isEmpty()) {

            System.out.print(q.remove() + " ");

        }

}

}

No comments:

Post a Comment

how to become red on codeforces by Errichto Algorithms | explained simply in a blog

 Yes. I found an available transcript of the video and summarized it simply. The video is “How To Become Red Coder? (codeforces.com)” by Err...