কম্পিউটার টিউটোরিয়াল

জাভা প্রোগ্রাম: কিউ (Queue) ডেটা স্ট্রাকচার ইমপ্লিমেন্টেশন

এই আর্টিকেলে আমরা বুঝব কীভাবে কিউ (Queue) ডেটা স্ট্রাকচার ইমপ্লিমেন্ট করতে হয়। একটি Queue হলো একটি লিনিয়ার স্ট্রাকচার যা একটি নির্দিষ্ট অর্ডার মেনে চলে যেখানে অপারেশনগুলো انجام হয়। অর্ডারটি হলো First In First Out (FIFO)।

ধরুন ইনপুট:

Input Queue: [150, 300, 450, 600]

চাহিদা আউটপুট:

After removing an element, the elements of the queue are: [300, 450, 600]

অ্যালগরিদম

Step 1 - START 
Step 2 - ভেরিয়েবল ডিক্লেয়ার 
Step 3 - 'offer' মেথড দিয়ে এলিমেন্ট যোগ করুন 
Step 4 - কিউর কন্টেন্ট প্রদর্শন 
Step 5 - 'poll' মেথড ব্যবহার করে কিউ থেকে এলিমেন্ট ডিলিট করুন 
Step 6 - 'poll' মেথড কল করার পর কিউর এলিমেন্টগুলো দেখান 
Step 7 - ফলাফল প্রদর্শন 
Step 8 - STOP

উদাহরণ ১

এখানে বিল্ট-ইন ফাংশন ব্যবহার করে সকল স্ট্যাক অপারেশন এক্সিকিউট করা হয়েছে।

import java.util.Queue; 
import java.util.LinkedList; 

public class Demo { 
    public static void main(String[] args) { 
        System.out.println("The required packages have been imported"); 
        Queue input_queue = new LinkedList<>(); 
        input_queue.offer(150); 
        input_queue.offer(300); 
        input_queue.offer(450); 
        input_queue.offer(600); 
        System.out.println("The queue is defined as: " + input_queue); 
        int removedNumber = input_queue.poll(); 
        System.out.println("After removing an element, the elements of the queue are: " + input_queue); 
    } 
}

আউটপুট

The required packages have been imported 
The queue is defined as: [150, 300, 450, 600] 
After removing an element, the elements of the queue are: [300, 450, 600]

উদাহরণ ২

এখানে ইউজার-ডিফাইনড ফাংশন ব্যবহার করে সকল স্ট্যাক অপারেশন এক্সিকিউট করা হয়েছে।

public class Queue { 
    int SIZE = 5; 
    int items[] = new int[SIZE]; 
    int front, rear; 
    Queue() { 
        front = -1; 
        rear = -1; 
    } 
    boolean isFull() { 
        if (front == 0 && rear == SIZE - 1) { 
            return true; 
        } 
        return false; 
    } 
    boolean isEmpty() { 
        if (front == -1) 
            return true; 
        else 
            return false; 
    } 
    void enQueue(int element) { 
        if (isFull()) { 
            System.out.println("\nThe queue is full"); 
        } else { 
            if (front == -1) { 
                front = 0; 
            } 
            rear++; 
            items[rear] = element; 
            System.out.println("\nThe element " + element + " is inserted"); 
        } 
    } 
    int deQueue() { 
        int element; 
        if (isEmpty()) { 
            System.out.println("\nThe queue is empty"); 
            return (-1); 
        } else { 
            element = items[front]; 
            if (front >= rear) { 
                front = -1; 
                rear = -1; 
            } else { 
                front++; 
            } 
            System.out.println("\nThe element " + element + " is deleted"); 
            return (element); 
        } 
    } 
    void display() { 
        int i; 
        if (isEmpty()) { 
            System.out.println("The queue is empty "); 
        } else { 
            System.out.println("\nThe elements of the queue are: "); 
            for (i = front; i <= rear; i++) 
                System.out.print(items[i] + " "); 
        } 
    } 
    public static void main(String[] args) { 
        Queue input_queue = new Queue(); 
        for(int i = 1; i < 6; i++) { 
            input_queue.enQueue(i * 100); 
        } 
        System.out.println("The queue is defined as: " + input_queue); 
        input_queue.enQueue(6); 
        input_queue.display(); 
        input_queue.deQueue(); 
        input_queue.display(); 
    } 
}

আউটপুট

The element 100 is inserted 
The element 200 is inserted 
The element 300 is inserted 
The element 400 is inserted 
The element 500 is inserted 
The queue is defined as: Queue@2a139a55 
The queue is full 
The elements of the queue are: 100 200 300 400 500 
The element 100 is deleted 
The elements of the queue are: 200 300 400 500
  1. জাভা প্রোগ্রাম: বৃত্তের পরিধি (Perimeter) বের করার পদ্ধতি

  2. জাভা প্রোগ্রাম: ট্রাপিজিয়াম (Trapezium) এর ক্ষেত্রফল বের করার পদ্ধতি

  3. জাভা প্রোগ্রাম: আয়তের পরিসীমা নির্ণয়

  4. জাভাতে সংখ্যা গণনার প্রোগ্রাম কীভাবে বাস্তবায়ন করবেন?