কিউ হল ফার্স্ট ইন ফার্স্ট আউট ডেটা স্ট্রাকচার। কিউ বিভিন্ন জায়গায় ব্যবহৃত হয় গ্রাফ ট্রাভার্সাল অ্যালগরিদম ব্রেডথ ফার্স্ট সার্চ ইত্যাদিতে। কিউর কিছু প্রিমিটিভ অপারেশন রয়েছে। এখানে আমরা কিউর সেই অপারেশনগুলো দেখব এবং কিউ ADT ব্যবহার করে একটি উদাহরণ দেখব।
ADT (অবস্ট্রাক্ট ডেটা টাইপ) হল ডেটা টাইপের একটি বিশেষ ধরন, যেসের আচরণ একটি ভ্যালু সেট এবং অপারেশন সেট দ্বারা ডিফাইন করা হয়। "Abstract" শব্দটি ব্যবহৃত হয় কারণ আমরা এই ডেটা টাইপগুলো ব্যবহার করতে পারি, বিভিন্ন অপারেশন পারফর্ম করতে পারি। কিন্তু সেসব অপারেশন কিভাবে কাজ করে সেটি ইউজার থেকে সম্পূর্ণ লুকিয়ে থাকে। ADT প্রিমিটিভ ডেটা টাইপ দিয়ে তৈরি হয়, কিন্তু অপারেশন লজিক লুকিয়ে থাকে।
কিউ ADT-এর কিছু অপারেশন বা ফাংশন নিচে -
- isFull(), এটি চেক করতে ব্যবহৃত হয় কিউ ফুল কিনা
- isEmpty(), এটি চেক করতে ব্যবহৃত হয় কিউ খালি কিনা
- enqueue(x), এটি x কে কিউর শেষে পুশ করতে ব্যবহৃত হয়
- delete(), এটি কিউর ফ্রন্ট এন্ড থেকে একটি এলিমেন্ট ডিলিট করতে ব্যবহৃত হয়
- front(), এটি কিউর ফ্রন্টমোস্ট এলিমেন্ট পাওয়ার জন্য ব্যবহৃত হয়
- size(), এই ফাংশন কিউতে উপস্থিত এলিমেন্টের সংখ্যা পাওয়ার জন্য ব্যবহৃত হয়
উদাহরণ
#include#include using namespace std; main() { queue que; if(que.empty()){ cout << "Queue is empty" << endl; } else { cout << "Queue is not empty" << endl; } //insert elements into queue que.push(10); que.push(20); que.push(30); que.push(40); que.push(50); cout << "Size of the queue: " << que.size() << endl; //delete and dispay elements while(!que.empty()) { int item = que.front(); // read element from first position que.pop(); cout << item << " "; } }
আউটপুট
Queue is empty Size of the queue: 5 10 20 30 40 50