কম্পিউটার

পাইথনে সামনে, মাঝখানে এবং পিছনের দিক থেকে ধাক্কা বা পপ করতে পারে এমন একটি সারি বাস্তবায়নের প্রোগ্রাম


ধরুন, আমাদেরকে একটি সারি বাস্তবায়ন করতে বলা হয়েছে যা সামনে, মাঝখানে এবং পিছনে মানগুলিকে ধাক্কা দিতে এবং পপ করতে পারে৷

তিনটি ক্ষেত্রেই পুশ এবং পপ করার জন্য আমাদের একজোড়া ফাংশন বাস্তবায়ন করতে হবে। আমাদের অন্য একটি ফাংশন বাস্তবায়ন করতে হবে যা একটি নির্দিষ্ট সময়ে সম্পূর্ণ সারি দেখায়।

সুতরাং, যদি ইনপুট মত হয়

push_from_back(10)

push_from_back(20)

push_from_front(30)

push_from_middle(40)

push_from_front(50)

show_queue()

pop_from_back()

show_queue()

pop_from_front()

show_queue()

pop_from_middle()

show_queue(),

তাহলে আউটপুট হবে [50, 30, 40, 10, 20

[৫০, ৩০, ৪০, ১০]

[৩০, ৪০, ১০]

[৩০, ১০]

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • অ্যারে :=সারির অ্যারে উপস্থাপনা

  • একটি ফাংশন সংজ্ঞায়িত করুন push_from_front()। এটি মান গ্রহণ করবে

    • 0

      অবস্থানে অ্যারেতে মান সন্নিবেশ করান
  • একটি ফাংশন সংজ্ঞায়িত করুন push_from_middle()। এটি মান গ্রহণ করবে

    • অবস্থানে অ্যারেতে মান সন্নিবেশ করান (অ্যারের আকার) / 2

  • একটি ফাংশন সংজ্ঞায়িত করুন push_from_back()। এটি মান গ্রহণ করবে

    • অ্যারের শেষে মান সন্নিবেশ করান

  • একটি ফাংশন pop_from_front()।

    সংজ্ঞায়িত করুন
    • অ্যারে থেকে প্রথম উপাদানটি মুছে দিন এবং ফেরত দিন যদি এটি খালি না থাকে

  • একটি ফাংশন pop_from_middle()।

    সংজ্ঞায়িত করুন
    • অবস্থানে উপাদান মুছে দিন (অ্যারের দৈর্ঘ্য - 1) /2

  • একটি ফাংশন pop_from_back() .

    সংজ্ঞায়িত করুন
    • অ্যারে থেকে শেষ উপাদানটি মুছে দিন এবং ফেরত দিন

  • একটি ফাংশন সংজ্ঞায়িত করুন show_queue()। এটি কোন ইনপুট নেবে না

    • রিটার্ন অ্যারে

উদাহরণ

আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি

শ্রেণীর সমাধান():def __init__(self):self.array =[] def push_from_front(self, value):self.array.insert(0, value) def push_from_middle(self, value):self.array. insert(len(self.array) // 2, value) def push_from_back(self, value):self.array.append(value) def pop_from_front(self):return (self.array or [-1]).pop( 0) def pop_from_middle(self):রিটার্ন (self.array বা [-1]).pop((len(self.array) - 1) // 2) def pop_from_back(self):রিটার্ন (self.array বা [-- 1]).pop() def show_queue(self):return self.arrayob =Solution()ob.push_from_back(10)ob.push_from_back(20)ob.push_from_front(30)ob.push_from_middle(40)ob.push_from_front(50) )প্রিন্ট(ob.show_queue())ob.pop_from_back()print(ob.show_queue())ob.pop_from_front()print(ob.show_queue())ob.pop_from_middle()print(ob.show_queue())

ইনপুট

ob =সমাধান()ob.push_from_back(10)ob.push_from_back(20)ob.push_from_front(30)ob.push_from_middle(40)ob.push_from_front(50)print(ob.show_queue())ob.pop )প্রিন্ট(ob.show_queue())ob.pop_from_front()print(ob.show_queue())ob.pop_from_middle()print(ob.show_queue())

আউটপুট

<প্রে>[50, 30, 40, 10, 20][50, 30, 40, 10][30, 40, 10][30, 10]
  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  2. পাইথন প্রোগ্রাম একটি অ্যারের বৃহত্তম উপাদান খুঁজে বের করতে

  3. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম

  4. প্রদত্ত অ্যারেটি মনোটোনিক কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম