কম্পিউটার টিউটোরিয়াল

পাইথন প্রোগ্রাম: লিংকড লিস্ট ব্যবহার করে কিউ ডেটা স্ট্রাকচার ইমপ্লিমেন্ট করা

যখন লিংকড লিস্ট ব্যবহার করে কিউ ডেটা স্ট্রাকচার ইমপ্লিমেন্ট করতে হয়, তখন লিংকড লিস্টে এলিমেন্ট যোগ করার (এনকিউ অপারেশন) মেথড এবং লিংকড লিস্টের এলিমেন্ট ডিলিট করার (ডিকিউ অপারেশন) মেথড সংজ্ঞায়িত করা হয়।

উদাহরণ

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class Queue_structure:
    def __init__(self):
        self.head = None
        self.last = None
    
    def enqueue_operation(self, data):
        if self.last is None:
            self.head = Node(data)
            self.last = self.head
        else:
            self.last.next = Node(data)
            self.last = self.last.next
    
    def dequeue_operation(self):
        if self.head is None:
            return None
        else:
            val_returned = self.head.data
            self.head = self.head.next
            return val_returned

my_instance = Queue_structure()
while True:
    print('enqueue <value>')
    print('dequeue')
    print('quit')
    my_input = input('আপনি কোন অপারেশন পারফর্ম করতে চান? ').split()
    operation = my_input[0].strip().lower()
    if operation == 'enqueue':
        my_instance.enqueue_operation(int(my_input[1]))
    elif operation == 'dequeue':
        dequeued = my_instance.dequeue_operation()
        if dequeued is None:
            print('কিউটি খালি।')
        else:
            print('ডিলিট করা এলিমেন্টটি হল: ', int(dequeued))
    elif operation == 'quit':
        break

আউটপুট

enqueue <value> dequeue quit
আপনি কোন অপারেশন পারফর্ম করতে চান? enqueue 45
enqueue <value> dequeue quit
আপনি কোন অপারেশন পারফর্ম করতে চান? enqueue 12
enqueue <value> dequeue quit
আপনি কোন অপারেশন পারফর্ম করতে চান? dequeue
ডিলিট করা এলিমেন্টটি হল: 45
enqueue <value> dequeue quit
আপনি কোন অপারেশন পারফর্ম করতে চান? quit

ব্যাখ্যা

  • Node ক্লাস তৈরি করা হয়েছে।

  • প্রয়োজনীয় অ্যাট্রিবিউটসহ Queue_structure ক্লাস তৈরি করা হয়েছে।

  • এতে একটি __init__ ফাংশন রয়েছে যা প্রথম এলিমেন্ট অর্থাৎ head-কে None-এ ইনিশিয়ালাইজ করে।

  • enqueue_operation নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা কিউতে মান যোগ করতে সাহায্য করে।

  • dequeue_operation নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা কিউ থেকে মান ডিলিট করে এবং ডিলিট করা মান রিটার্ন করে।

  • Queue_structure-এর একটি ইনস্ট্যান্স তৈরি করা হয়েছে।

  • তিনটি অপশন দেওয়া হয়েছে: 'enqueue', 'dequeue', এবং 'quit'।

  • 'enqueue' অপশনটি স্টকে একটি নির্দিষ্ট মান যোগ করে।

  • 'dequeue' অপশনটি কিউ থেকে এলিমেন্ট ডিলিট করে।

  • 'quit' অপশনটি লুপ থেকে বের করে।

  • ব্যবহারকারীর ইনপুট/চয়স অনুযায়ী সংশ্লিষ্ট অপারেশনগুলো পারফর্ম করা হয়।

  • এই আউটপুট কনসোলে প্রদর্শিত হয়।

  1. পাইথন সার্কুলার লিংকড লিস্ট প্রোগ্রাম

  2. পাইথন প্রোগ্রাম: ডাবলি লিংকড লিস্টে একটি উপাদান সার্চ করা

  3. পাইথন প্রোগ্রাম: ডাবলি লিংকড লিস্টকে N নোড দ্বারা রোটেট করা

  4. পাইথনে সার্কুলার লিঙ্কড লিস্টে একটি এলিমেন্ট খুঁজে বের করার প্রোগ্রাম