একটি অগ্রাধিকার সারিতে উপাদানগুলি সারিবদ্ধ করার অর্থ হল উপাদানের অগ্রাধিকারের ক্রম অনুসারে অ্যারেতে যোগ করা৷ আমরা উচ্চতর সংখ্যাকে উচ্চ অগ্রাধিকার হিসাবে বিবেচনা করব। আমরা একটি নিম্ন অগ্রাধিকার না পাওয়া পর্যন্ত কন্টেইনারটি লুপ করব এবং তারপরে সেখানে উপাদানটি যুক্ত করব। যদি তা না হয়, তাহলে আমরা এটিকে পাত্রের শেষে ঠেলে দেব।
মনে রাখবেন যে আমরা ডেটা এবং অগ্রাধিকার দিয়ে উপাদান অবজেক্ট তৈরি করছি৷ তাই আমরা নিম্নরূপ −
এনকিউ ফাংশন বাস্তবায়ন করতে পারিউদাহরণ
enqueue(data, priority) { // Check if Queue is full if (this.isFull()) { console.log("Queue Overflow!"); return; } let currElem = new this.Element(data, priority); let addedFlag = false; // Since we want to add elements to end, we'll just push them. for(let i = 0; i < this.container.length; i ++) { if(currElem.priority < this.container[i].priority) { this.container.splice(i, 0, currElem); addedFlag = true; break; } } if (!addedFlag) { this.container.push(currElem); } }
আপনি −
ব্যবহার করে এই ফাংশনটি ভাল কাজ করছে কিনা তা পরীক্ষা করতে পারেনউদাহরণ
let q = new PriorityQueue(4); q.enqueue("Hello", 3); q.enqueue("World", 2); q.enqueue("Foo", 8); q.display();
আউটপুট
এটি −
আউটপুট দেবে[ { data: 'World', priority: 2 }, { data: 'Hello', priority: 3 }, { data: 'Foo', priority: 8 } ]
আপনি দেখতে পারেন উপাদান একটি সাজানো ক্রম হয়. সারিবদ্ধ ফাংশন সন্নিবেশ সাজানোর মত কাজ করে।