查找双向链表中最大元素的 Python 程序

当需要查找双向链表中最大元素时,向双向链表添加元素的方法,打印双向链表元素的方法,以及查找双向链表中最大元素的方法列表被定义。

以下是相同的演示 -

示例

class Node:

   def __init__(self, data):

     self.data= data

     self.next= None

     self.prev= None

class DoublyLinkedList_structure:

   def __init__(self):

     self.first= None

     self.last= None

   def add_vals(self, data):

      self.insert_at_end(Node(data))

   def insert_at_end(self, newNode):

      ifself.lastis None:

         self.last = newNode

         self.first = newNode

      else:

         newNode.prev = self.last

         self.last.next = newNode

         self.last = newNode

def find_largest_val(my_list):

   if my_list.first is None:

      return None

   largest_val = my_list.first.data

   curr = my_list.first.next

   while curr:

      ifcurr.data> largest_val:

         largest_val = curr.data

      curr = curr.next

   return largest_val

my_instance = DoublyLinkedList_structure()

my_list = input('Enter the elements in the doubly linked list ').split()

for elem in my_list:

   my_instance.add_vals(int(elem))

largest_val = find_largest_val(my_instance)

if largest_val:

   print('The largest element is {}.'.format(largest_val))

else:

   print('The list is empty.')

输出结果
Enter the elements in the doubly linked list 45 12 67 89 234 567 888 44 999

The largest element is 999.

解释

  • 创建了“节点”类。

  • 创建了另一个具有必需属性的“DoublyLinkedList_structure”类。

  • 它有一个 'init' 函数,用于初始化第一个元素,i.e即 'head' 为 'None'。

  • 定义了一个名为“add_vals”的方法,它有助于向堆栈添加一个值。

  • 定义了另一个名为“insert_at_end”的方法,它有助于在双向链表的末尾添加一个值。

  • 定义了另一个名为“find_largest_val”的方法,它有助于在整个双向链表中找到最大值。

  • 'DoublyLinkedList_structure' 的一个实例被创建。

  • 元素被添加到链表中。

  • 'find_largest_val' 方法在这个双向链表上被调用。

  • 输出显示在控制台上。

以上是 查找双向链表中最大元素的 Python 程序 的全部内容, 来源链接: utcz.com/z/335579.html

回到顶部