কম্পিউটার

অগ্রাধিকার সারি বাস্তবায়নের জন্য C++ প্রোগ্রাম


সারি যা FIFO হিসাবে প্রয়োগ করা হয় যেখানে সন্নিবেশ এক প্রান্তে (পিছনে) করা হয় এবং অন্য প্রান্ত (সামনে) থেকে মুছে ফেলা হয়। প্রবেশ করা প্রথম উপাদানটি প্রথমে মুছে ফেলা হয়৷

সারি ক্রিয়াকলাপগুলি হল

  • EnQueue (int data) :পিছনের প্রান্তে সন্নিবেশ

  • int DeQueue() :সামনের প্রান্ত থেকে মুছে ফেলা

কিন্তু একটি অগ্রাধিকার সারি ফার্স্ট-ইন-ফার্স্ট-আউটকে অনুসরণ করে না, বরং প্রতিটি উপাদানেরই জরুরিতার ভিত্তিতে অগ্রাধিকার থাকে।

একই অগ্রাধিকার সহ আইটেমগুলি ফার্স্ট-ইন-ফার্স্ট-আউট পরিষেবার ভিত্তিতে প্রক্রিয়া করা হয়৷

উচ্চ অগ্রাধিকার সহ একটি আইটেম নিম্ন অগ্রাধিকার সহ অন্যান্য আইটেমগুলির আগে প্রক্রিয়া করা হয়৷

শ্রেণির বিবরণ

Begin class Priority_Queue এর নিম্নলিখিত ফাংশন রয়েছে:ফাংশন insert() তাদের অগ্রাধিকার সহ অগ্রাধিকার সারিতে আইটেম সন্নিবেশ করতে:1) সারি খালি থাকলে সারির বাম প্রান্ত থেকে তথ্য সন্নিবেশ করুন। 2) যদি কিউতে কিছু নোড থাকে তবে সেই নোডের শেষে নতুন নোডটি প্রবেশ করান যার অগ্রাধিকার নতুন নোডের সাথে একই থাকে এবং নতুন নোডের বর্তমান অগ্রাধিকারের চেয়ে কম অগ্রাধিকার থাকা সমস্ত নোডের আগেও। ফাংশন del() সারি থেকে আইটেম মুছে ফেলার জন্য। সারি সম্পূর্ণ খালি থাকলে, আন্ডারফ্লো প্রিন্ট করুন অন্যথায় সামনের উপাদান মুছে দিন এবং সামনে আপডেট করুন। End

উদাহরণ

#include #include #include #include নেমস্পেস ব্যবহার করে std;struct n // নোড ঘোষণা { int p; int তথ্য; struct n *l;};class Priority_Queue { private:// একটি ফ্রন্ট পয়েন্টার f ঘোষণা করুন এবং এটিকে NULL এ আরম্ভ করুন। n *f; সর্বজনীন:Priority_Queue() //constructor { f =NULL; } void insert(int i, int p) { n *t, *q; t =নতুন n; t->তথ্য =i; t->p =p; যদি (f ==NULL || p p) { t->l =f; f =t; } অন্য { q =f; যখন (q->l !=NULL &&q->l->p <=p) q =q->l; t->l =q->l; q->l =t; } } void del() { n *t; if(f ==NULL) //যদি সারিটি null cout হয়<<"Queue Underflow\n"; অন্য { t =f; cout<<"মুছে ফেলা আইটেম হল:"<তথ্য<l; বিনামূল্যে (টি); } } অকার্যকর শো() //প্রিন্ট সারি { n *ptr; ptr =f; যদি (f ==NULL) cout<<"সারি খালি\n"; অন্যথা { cout<<"সারি হল :\n"; cout<<"অগ্রাধিকার আইটেম\n"; while(ptr !=NULL) { cout<p<<" "<তথ্য<l; } } }}; int main() { int c, i, p; অগ্রাধিকার_সারি pq; সুইচ অপারেশন করুন// সম্পাদন করুন { cout<<"1.Insert\n"; cout<<"2.Delete\n"; cout<<"3.Display\n"; cout<<"4.প্রস্থান\n"; cout<<"আপনার পছন্দ লিখুন :"; cin>>c; switch(c) { কেস 1:cout<<" সারিতে যোগ করা আইটেমের মান ইনপুট করুন :"; cin>>i; cout<<"এর অগ্রাধিকার লিখুন :"; cin>>p; pq.insert(i, p); বিরতি কেস 2:pq.del(); বিরতি কেস 3:pq.show(); বিরতি কেস 4:বিরতি; ডিফল্ট:cout<<"ভুল পছন্দ\n"; } } while(c !=4); রিটার্ন 0;

আউটপুট

1.Insert2.Delete3.Display4.Exitএন্টার করুন আপনার পছন্দ :1 সারিতে যোগ করা আইটেমের মান ইনপুট করুন :7এর অগ্রাধিকার লিখুন :21.Insert2.Delete3.Display4.ExitEnter your choice :1ইনপুট আইটেমের মান যোগ করতে হবে সারি :6এর অগ্রাধিকার লিখুন :11.Insert2.Delete3.Display4.Exit আপনার পছন্দটি লিখুন :1 সারিতে যোগ করা আইটেমের মানটি ইনপুট করুন :3এর অগ্রাধিকার লিখুন :31.Insert2.Delete3.Display4.Exit করুন 1 আপনার পছন্দের মানটি প্রবেশ করান সারিতে যোগ করতে হবে:4এর অগ্রাধিকার লিখুন:31.Insert2.Delete3.Display4.ExitEnter your choice :3Queue is :Priority Item1 62 73 33 41.Insert2.Delete3.Display4.ExitEnter your choice :4 
  1. সিজার সাইফার বাস্তবায়নের জন্য C++ প্রোগ্রাম

  2. AVL ট্রি বাস্তবায়নের জন্য C++ প্রোগ্রাম

  3. লিঙ্ক করা তালিকা ব্যবহার করে সারি বাস্তবায়নের জন্য C++ প্রোগ্রাম

  4. অ্যারে ব্যবহার করে সারি বাস্তবায়নের জন্য C++ প্রোগ্রাম