কম্পিউটার

জাভাস্ক্রিপ্ট ব্যবহার করে একটি অগ্রাধিকার সারি তৈরি করা


আমাদের ক্লাসে নিম্নলিখিত ফাংশন থাকবে −

  • এনকিউ(এলিমেন্ট):সারিতে একটি উপাদান যোগ করার ফাংশন।
  • dequeue():ফাংশন যা সারি থেকে একটি উপাদান সরিয়ে দেয়।
  • পিক():সারির সামনে থেকে উপাদান ফেরত দেয়।
  • isFull():আমরা সারিতে থাকা উপাদানের সীমাতে পৌঁছেছি কিনা তা পরীক্ষা করে।
  • isEmpty():সারিটি খালি আছে কিনা তা পরীক্ষা করে।
  • ক্লিয়ার():সমস্ত উপাদান সরান।
  • display():অ্যারের সমস্ত বিষয়বস্তু প্রদর্শন করুন

আসুন একটি সাধারণ ক্লাস সংজ্ঞায়িত করে শুরু করা যাক একটি কনস্ট্রাক্টর যা সারির সর্বোচ্চ আকার নেয় এবং একটি সহায়ক ফাংশন যা আমাদের সাহায্য করবে যখন আমরা এই শ্রেণীর জন্য অন্যান্য ফাংশনগুলি বাস্তবায়ন করি। আমাদের অগ্রাধিকার কিউ ক্লাস প্রোটোটাইপের অংশ হিসাবে অন্য কাঠামোকে সংজ্ঞায়িত করতে হবে যাতে প্রতিটি নোড সম্পর্কে অগ্রাধিকার এবং ডেটা থাকবে। যেমন আমরা স্ট্যাক প্রয়োগ করেছি, আমরা অ্যারে ব্যবহার করে অগ্রাধিকার সারি বাস্তবায়ন করব।

উদাহরণ

class PriorityQueue {
   constructor(maxSize) {
      // Set default max size if not provided
      if (isNaN(maxSize)) {
         maxSize = 10;
      }
      this.maxSize = maxSize;
      // Init an array that'll contain the queue values.
      this.container = [];
   }
   // Helper function to display all values while developing
   display() {
      console.log(this.container);
   }
   // Checks if queue is empty
   isEmpty() {
      return this.container.length === 0;
   }
   // checks if queue is full
   isFull() {
      return this.container.length >= this.maxSize;
   }
}
// Create an inner class that we'll use to create new nodes in the queue
// Each element has some data and a priority
PriorityQueue.prototype.Element = class {
   constructor (data, priority) {
      this.data = data; this.priority = priority;
   }
}

স্ট্যাকটি পূর্ণ বা খালি কিনা তা পরীক্ষা করতে আমরা আরও 2টি ফাংশন সংজ্ঞায়িত করেছি, isFull এবং isEmpty৷

isFull ফাংশন শুধু পরীক্ষা করে যে ধারকটির দৈর্ঘ্য maxSize এর সমান বা তার বেশি এবং সেই অনুযায়ী রিটার্ন করে।

isEmpty ফাংশন কনটেইনারের আকার 0 কিনা তা পরীক্ষা করে।

আমরা অন্যান্য অপারেশন সংজ্ঞায়িত করার সময় এগুলি সহায়ক হবে৷ এই বিন্দু থেকে আমরা যে ফাংশনগুলিকে সংজ্ঞায়িত করব সেগুলি সমস্ত অগ্রাধিকার সারিতে চলে যাবে৷


  1. জাভাস্ক্রিপ্ট ব্যবহার করে অটো-রিসাইজ টেক্সট এরিয়া তৈরি করা হচ্ছে

  2. জাভাস্ক্রিপ্ট আমদানিতে '{ }' ব্যবহার করছেন?

  3. জাভাস্ক্রিপ্টে সারির বাস্তবায়ন

  4. সি-তে লিঙ্ক করা তালিকা ব্যবহার করে অগ্রাধিকার সারি