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