কম্পিউটার

পাইথন প্রোগ্রাম n নোডের দ্বিগুণ লিঙ্কযুক্ত তালিকা তৈরি করে এবং এটিকে বিপরীত ক্রমে প্রদর্শন করে


যখন এটি একটি দ্বিগুণ লিঙ্কযুক্ত তালিকা তৈরি করতে এবং উপাদানগুলিকে বিপরীত ক্রমে প্রদর্শন করতে হয়, তখন একটি 'নোড' শ্রেণী তৈরি করতে হবে। এই ক্লাসে, তিনটি বৈশিষ্ট্য রয়েছে, নোডে থাকা ডেটা, লিঙ্ক করা তালিকার পরবর্তী নোডে অ্যাক্সেস এবং লিঙ্ক করা তালিকার আগের নোডে অ্যাক্সেস।

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

লিঙ্ক করা তালিকায় নোড যোগ করার জন্য, নোডগুলিকে বিপরীত করতে এবং লিঙ্ক করা তালিকায় নোডগুলিকে প্রিন্ট করার জন্য একাধিক পদ্ধতি ব্যবহারকারী দ্বারা সংজ্ঞায়িত করা হয়৷

নীচে একই −

এর জন্য একটি প্রদর্শন রয়েছে৷

উদাহরণ

ক্লাস নোড:def __init__(self, my_data):self.prev =None self.data =my_data self.next =Noneclass reverse_list:def __init__(self):self.head =None self.tail =None def add_data( self, my_data):new_node =Node(my_data) if(self.head ==None):self.head =self.tail =new_node; self.head.previous =কোনটিই নয়; self.tail.next =কোনটিই নয়; else:self.tail.next =new_node; new_node.previous =self.tail; self.tail =new_node; self.tail.next =কোনটিই নয়; def reverse_vals(self):curr =self.head; while(curr !=None):temp =curr.next curr.next =curr.previous curr.previous =temp curr =curr.previous temp =self.head self.head =self.tail self.tail =temp def print_it( self):curr =self.head if (self.head ==None):print("The list is empty") return print("The nodes are :") while curr !=None:print(curr.data) curr =curr.nextmy_instance =reverse_list()print("উপাদান তালিকায় যোগ করা হচ্ছে")my_instance.add_data(10)my_instance.add_data(14)my_instance.add_data(24)my_instance.add_data(17)add_2inst my_instance.print_it()print("দ্বৈত লিঙ্কযুক্ত তালিকার বিপরীত নোডগুলি হল :")my_instance.reverse_vals()my_instance.print_it()

আউটপুট

এলিমেন্টগুলি তালিকায় যোগ করা হচ্ছে 

ব্যাখ্যা

  • 'নোড' ক্লাস তৈরি করা হয়েছে।
  • প্রয়োজনীয় বৈশিষ্ট্য সহ আরেকটি ক্লাস তৈরি করা হয়েছে।
  • 'add_data' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যেটি দ্বিগুণ লিঙ্কযুক্ত তালিকায় ডেটা যোগ করতে ব্যবহৃত হয়।
  • 'রিভার্স_নোড' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা দ্বিগুণ লিঙ্কযুক্ত তালিকায় নোডের ক্রম বিপরীত করতে সাহায্য করে।
  • 'print_it' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিঙ্ক করা তালিকার নোডগুলি প্রদর্শন করে।
  • 'রিভার্স_লিস্ট' ক্লাসের একটি অবজেক্ট তৈরি করা হয়, এবং দ্বিগুণ লিঙ্কযুক্ত তালিকার নোডগুলিকে বিপরীত করার জন্য পদ্ধতিগুলিকে বলা হয়৷
  • একটি 'init' পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যে রুট, হেড, এবং টেইল নোডগুলি দ্বিগুণভাবে লিঙ্কযুক্ত তালিকার সাথে নেই।
  • 'reverse_vals' পদ্ধতিকে বলা হয়।
  • এটি দ্বিগুণ লিঙ্কযুক্ত তালিকার মাধ্যমে পুনরাবৃত্তি করে এবং তালিকাটিকে বিপরীত করে দেয়।
  • এটি 'print_it' পদ্ধতি ব্যবহার করে কনসোলে প্রদর্শিত হয়।

  1. পাইথন প্রোগ্রাম n নোডের দ্বিগুণ লিঙ্কযুক্ত তালিকা তৈরি করে এবং নোডের সংখ্যা গণনা করে

  2. পাইথন প্রোগ্রাম একটি টারনারি ট্রি থেকে দ্বিগুণ লিঙ্কযুক্ত তালিকা তৈরি করতে

  3. পাইথনে লিঙ্ক করা তালিকার ভিতরের নোডগুলিকে বিপরীত করার জন্য প্রোগ্রাম

  4. পাইথনে একটি লিঙ্ক করা তালিকাকে বিপরীত করার জন্য প্রোগ্রাম