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

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

সার্কুলার লিংকড লিস্টের শেষে নতুন নোড ইনসার্ট করতে হলে একটি 'Node' ক্লাস তৈরি করতে হয়। এই ক্লাসে দুটি অ্যাট্রিবিউট থাকে: নোডে থাকা ডেটা এবং লিংকড লিস্টের পরবর্তী নোডে অ্যাক্সেস।

সার্কুলার লিংকড লিস্টে হেড এবং রিয়ার একে অপরকে স্পর্শ করে। তারা একটি সার্কেল গঠন করে, এবং লাস্ট নোডে 'NULL' ভ্যালু থাকে না।

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

লিংকড লিস্টের শেষে নোড যোগ করা এবং নোড ভ্যালু প্রিন্ট করার জন্য ইউজার-ডিফাইন্ড মাল্টিপল মেথড সংজ্ঞায়িত করা হয়।

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

উদাহরণ

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

class list_creation:
    def __init__(self):
        self.head = Node(None)
        self.tail = Node(None)
        self.head.next = self.tail
        self.tail.next = self.head

    def add_at_end(self, my_data):
        new_node = Node(my_data)
        if self.head.data is None:
            self.head = new_node
            self.tail = new_node
            new_node.next = self.head
        else:
            self.tail.next = new_node
            self.tail = new_node
            self.tail.next = self.head

    def print_it(self):
        curr = self.head
        if self.head is None:
            print("The list is empty")
            return
        else:
            print(curr.data)
            while curr.next != self.head:
                curr = curr.next
                print(curr.data)
            print("\n")

class circular_linked_list:
    my_cl = list_creation()
    print("Nodes are being added to end of list")
    my_cl.add_at_end(21)
    my_cl.print_it()
    my_cl.add_at_end(53)
    my_cl.print_it()
    my_cl.add_at_end(76)
    my_cl.print_it()

আউটপুট

Nodes are being added to end of list
21
21 53
21 53 76

ব্যাখ্যা

  • 'Node' ক্লাস তৈরি করা হয়েছে।
  • প্রয়োজনীয় অ্যাট্রিবিউটসহ আরেকটি ক্লাস তৈরি করা হয়েছে।
  • 'add_at_end' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিংকড লিস্টের শেষে, অর্থাৎ 'tail' নোডের পরে ডেটা যোগ করতে ব্যবহৃত হয়।
  • 'print_it' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিংকড লিস্টের নোডগুলো ডিসপ্লে করে।
  • 'list_creation' ক্লাসের একটি অবজেক্ট তৈরি করা হয়েছে, এবং ডেটা যোগ করতে মেথডগুলো কল করা হয়েছে।
  • একটি 'init' মেথড সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিংকড লিস্টের প্রথম এবং লাস্ট নোডকে None সেট করে।
  • 'add_at_end' মেথডটি কল করা হয়েছে।
  • এটি লিংকড লিস্টের টেল পায়, এর পরে একটি এলিমেন্ট যোগ করে, এবং এর অ্যাড্রেস হেড পয়েন্টার এবং প্রিভিয়াস পয়েন্টারকে রেফারেন্স করে।
  • 'print_it' মেথড ব্যবহার করে কনসোলে এটি ডিসপ্লে করা হয়।
  1. সি প্রোগ্রামিং-এ লিংকড লিস্টের শেষ থেকে n-তম নোড বের করা

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

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

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