Python
 Computer >> コンピューター >  >> プログラミング >> Python

二重リンクリストで最大の要素を見つける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.

説明

  • 「Node」クラスが作成されます。

  • 必要な属性を持つ別の「DoublyLinkedList_structure」クラスが作成されます。

  • 最初の要素、つまり「head」を「None」に初期化するために使用される「init」関数があります。

  • スタックに値を追加するのに役立つ「add_vals」という名前のメソッドが定義されています。

  • 「insert_at_end」という名前の別のメソッドが定義されています。これは、二重リンクリストの最後に値を追加するのに役立ちます。

  • 「find_largest_val」という名前の別のメソッドが定義されています。これは、二重リンクリスト全体で最大の値を見つけるのに役立ちます。

  • 「DoublyLinkedList_structure」のインスタンスが作成されます。

  • リンクリストに要素が追加されます。

  • 「find_largest_val」メソッドは、この二重リンクリストで呼び出されます。

  • 出力はコンソールに表示されます。


  1. リスト内で最大の数を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、リストの最大の要素を計算する必要があります。 ここでは、組み込み関数を使用して、問題ステートメントの解決策に到達します sort()関数の使用 例 # list list1 = [23,1,32,67,2,34,12] # sorting list1.sort() # printing the last element print("Largest element is:", list1[-1]) 出力 Largest in given array is 67

  2. 配列内の最大の要素を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n):    #maximum element    max = arr[0]    # traverse the whole loop    for