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

N নোডের সার্কুলার লিংকড লিস্ট তৈরি করে রিভার্স অর্ডারে ডিসপ্লে করার প্রোগ্রাম

সার্কুলার লিংকড লিস্ট তৈরি করে রিভার্স অর্ডারে ডিসপ্লে করতে হলে একটি 'Node' ক্লাস তৈরি করতে হয়।

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

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

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

উদাহরণ

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

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

    def add_data(self, my_data):
        new_node = Node(my_data)
        new_node.next = self.head
        self.head = new_node

    def reverse(self):
        prev = None
        current = self.head
        while current is not None:
            next = current.next
            current.next = prev
            prev = current
            current = next
        self.head = prev

    def print_it(self):
        temp = self.head
        while temp:
            print(temp.data)
            temp = temp.next

my_list = linked_list()
my_list.add_data(47)
my_list.add_data(89)
my_list.add_data(34)
my_list.add_data(11)
print("The list is : ")
my_list.print_it()
print("The list is being reversed")
my_list.reverse()
print("The reversed list is : ")
my_list.print_it()

আউটপুট

The list is : 11 34 89 47
The list is being reversed
The reversed list is : 47 89 34 11

ব্যাখ্যা

  • 'Node' ক্লাস তৈরি করা হয়েছে।
  • প্রয়োজনীয় অ্যাট্রিবিউটসহ 'linked_list' ক্লাস তৈরি করা হয়েছে।
  • 'add_data' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিংকড লিস্টে ডেটা যোগ করতে ব্যবহৃত হয়।
  • 'reverse' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিংকড লিস্টে সংরক্ষিত ডেটা রিভার্স করে।
  • 'print_it' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা লিংকড লিস্টের ডেটা কনসোলে ডিসপ্লে করতে ব্যবহৃত হয়।
  • 'linked_list' ক্লাসের একটি অবজেক্ট তৈরি করা হয়েছে, এবং ডেটা যোগ করা হয়েছে।
  • 'reverse' মেথড ব্যবহার করে এটি রিভার্স করা হয়েছে।
  • 'print_it' মেথড ব্যবহার করে কনসোলে এটি ডিসপ্লে করা হয়।
  1. সিংলি লিংকড লিস্টে সংখ্যা রিভার্স আর্ডারে ডিসপ্লে করার C প্রোগ্রাম

  2. পাইথনে লিস্ট সর্ট এবং রিভার্স করার প্রোগ্রাম

  3. পাইথনে লিংকড লিস্টে নোড সোয়াপ করার প্রোগ্রাম

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