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):
if self.last is 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:
if curr.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.
解释
创建了“节点”类。
创建了另一个具有所需属性的“双向链表结构”类。
它有一个“init”函数,用于初始化第一个元素,即“头”为“None”。
定义了一个名为“add_vals”的方法,它有助于向栈添加值。
定义了另一个名为“insert_at_end”的方法,它有助于向双向链表的末尾添加值。
定义了另一个名为“find_largest_val”的方法,它有助于查找整个双向链表中的最大值。
创建了“双向链表结构”的实例。
元素被添加到链表中。
在该双向链表上调用了“find_largest_val”方法。
输出显示在控制台上。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP