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

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

পাইথনে লিংকড লিস্ট জেনারেট করার প্রোগ্রাম তৈরি করতে হলে একটি 'Node' ক্লাস তৈরি করতে হয়। সার্কুলার লিস্টে ডেটা এলিমেন্টগুলো ডিসপ্লে করতে আরেকটি মেথড সংজ্ঞায়িত করা যায়। এই ক্লাসে দুটি অ্যাট্রিবিউট থাকে: নোডে থাকা ডেটা এবং লিংকড লিস্টের পরবর্তী নোডে অ্যাক্সেস। সার্কুলার লিংকড লিস্টে হেড এবং রিয়ার একে অপরকে স্পর্শ করে। তারা একটি সার্কেল গঠন করে, এবং লাস্ট নোডে 'NULL' ভ্যালু থাকে না।

একটি 'linked_list' ক্লাস তৈরি করতে হয় যাতে একটি ইনিশিয়ালাইজেশন ফাংশন থাকে, এবং নোডের হেড 'None'-এ ইনিশিয়ালাইজ করা হয়।

নিচে ডেমোстран্স্ট্রেশন দেওয়া হলো:

উদাহরণ

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

class circularLinkedList:
    def __init__(self):
        self.head = None

    def add_data(self, my_data):
        ptr_1 = Node(my_data)
        temp = self.head
        ptr_1.next = self.head
        if self.head is not None:
            while temp.next != self.head:
                temp = temp.next
            temp.next = ptr_1
        else:
            ptr_1.next = ptr_1
        self.head = ptr_1

    def print_it(self):
        temp = self.head
        if self.head is not None:
            while True:
                print("%d" % (temp.data))
                temp = temp.next
                if temp == self.head:
                    break

my_list = circularLinkedList()
print("Elements are added to the list ")
my_list.add_data(56)
my_list.add_data(78)
my_list.add_data(12)
print("The data is : ")
my_list.print_it()

আউটপুট

Elements are added to the list
The data is : 12 78 56

ব্যাখ্যা

  • 'Node' ক্লাস তৈরি করা হয়েছে।
  • প্রয়োজনীয় অ্যাট্রিবিউটসহ 'circularLinkedList' ক্লাস তৈরি করা হয়েছে।
  • এতে একটি 'init' ফাংশন আছে যা প্রথম এলিমেন্ট, অর্থাৎ 'head'-কে 'None'-এ ইনিশিয়ালাইজ করতে ব্যবহৃত হয়।
  • 'add_data' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিংকড লিস্টে ডেটা যোগ করতে ব্যবহৃত হয়।
  • 'print_it' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা লিংকড লিস্টের ডেটা কনসোলে ডিসপ্লে করতে ব্যবহৃত হয়।
  • 'linked_list' ক্লাসের একটি অবজেক্ট তৈরি করা হয়েছে, এবং ডেটা যোগ করতে মেথডগুলো কল করা হয়েছে।
  • 'print_it' মেথড ব্যবহার করে কনসোলে এটি ডিসপ্লে করা হয়।
  1. পাইথন প্রোগ্রাম: ডাবলি লিংকড লিস্ট তৈরি এবং প্রদর্শন

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

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

  4. পাইথনে লিংকড লিস্ট উল্টে ফেলার প্রোগ্রাম