অগ্রাধিকার সারি হল অগ্রাধিকারপ্রাপ্ত উপাদানগুলির একটি সংগ্রহ সংরক্ষণ করার জন্য একটি বিমূর্ত ডেটা টাইপ যা তাদের অগ্রাধিকারের উপর ভিত্তি করে একটি উপাদান সন্নিবেশ এবং মুছে ফেলাকে সমর্থন করে, অর্থাৎ, প্রথম অগ্রাধিকার সহ উপাদানটি যে কোনো সময় সরানো যেতে পারে। অগ্রাধিকার সারিতে উপাদানগুলিকে রৈখিক ফ্যাশনে সঞ্চয় করে না তাদের অবস্থানের ক্ষেত্রে যেমন স্ট্যাক, সারি, তালিকা, ইত্যাদি। অগ্রাধিকার সারি ADT (বিমূর্ত ডেটা টাইপ) তাদের অগ্রাধিকারের উপর ভিত্তি করে উপাদানগুলি সঞ্চয় করে।
অগ্রাধিকার সারি নিম্নলিখিত ফাংশন সমর্থন করে −
আকার() − এটি অগ্রাধিকার সারির আকার গণনা করতে ব্যবহৃত হয় কারণ এটি এতে উপাদানের সংখ্যা প্রদান করে।
খালি() − যদি অগ্রাধিকার সারি খালি থাকে এবং অন্যথায় মিথ্যা হয় তাহলে এটি সত্য হয়
ঢোকান(উপাদান) − একটি অগ্রাধিকার সারিতে নতুন উপাদান সন্নিবেশ করতে ব্যবহৃত হয়
মিন() − এটি ক্ষুদ্রতম সংশ্লিষ্ট কী মান সহ উপাদানটি ফেরত দেয় এবং অগ্রাধিকার সারি খালি থাকলে ত্রুটি বার্তা প্রদর্শন করে৷
রিমুভমিন() − এটি min() ফাংশন দ্বারা উল্লেখ করা উপাদানটিকে সরিয়ে দেয়।
নিচে একটি সারণী দেওয়া হয়েছে যা অগ্রাধিকার সারিতে অপারেশনের প্রভাব দেখায়
StartStep 1-> একটি অগ্রাধিকার সারিতে উপাদানগুলি প্রদর্শনের জন্য ফাংশন ঘোষণা করুন অকার্যকর প্রদর্শন (priority_queuePq) ঘোষণা করুন এবং priority_queue সেট করুন que =Pq লুপ যখন (!que.empty()) que.top কল করুন () call que.pop() EndStep 2-> main() priority_queue এর অবজেক্ট তৈরি করুন Pq কল পুশ() একটি অগ্রাধিকার সারিতে উপাদান সন্নিবেশ করার জন্য Pq.push(1) কল ডিসপ্লে(Pq) চেক করতে কল করুন অগ্রাধিকার সারির মাপ উদাহরণ
#include#include নেমস্পেস ব্যবহার করে std;void display(priority_queue Pq) { priority_queue que =Pq; যখন (!que.empty()) { cout <<'\t' < Pq; pq.push(1); pq.push(3); pq.push(5); pq.push(7); pq.push(9); cout <<"অগ্রাধিকার সারি হল :"; প্রদর্শন (Pq); cout <<"\nsize() ব্যবহার করে অগ্রাধিকার সারির আকার :" < আউটপুট
অগ্রাধিকার সারি হল :9 7 5 3 1প্রিয়রি কিউ সাইজ ব্যবহার করে সাইজ() :5 অগ্রাধিকার সারির প্রথম এলিমেন্ট top():9 রিমুভিং এলিমেন্ট ব্যবহার করে pop() :7 5 3 1