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

Python Circular Linked List Program


リンクリストを生成するPythonプログラムを作成する必要がある場合は、「Node」クラスを作成する必要があります。循環リストのデータ要素を表示するために、データを表示する別のメソッドを定義できます。このクラスには、ノードに存在するデータと、リンクリストの次のノードへのアクセスという2つの属性があります。循環リンクリストでは、ヘッドとリアが互いに隣接しています。それらは円を形成するように接続されており、最後のノードに「NULL」値はありません。

初期化関数を持つ別の「linked_list」クラスを作成する必要があり、ノードのヘッドは「None」に初期化されます。

以下は同じのデモンストレーションです-

class Node:
   def __init__(self, my_data):
      self.data = my_data
      self.next = None

class circularLinkedList:  
   def __init__(self):
      self.head = None
   def add_data(self, my_data):
      ptr_1 = Node(my_data)
      temp = self.head    
      ptr_1.next = self.head

      if self.head is not None:
         while(temp.next != self.head):
            temp = temp.next
         temp.next = ptr_1
      else:
         ptr_1.next = ptr_1
      self.head = ptr_1

   def print_it(self):
      temp = self.head
      if self.head is not None:
         while(True):
            print("%d" %(temp.data)),
            temp = temp.next
            if (temp == self.head):
               break
my_list = circularLinkedList()
print("Elements are added to the list ")
my_list.add_data (56)
my_list.add_data (78)
my_list.add_data (12)
print("The data is : ")
my_list.print_it()

出力

Elements are added to the list
The data is :
12
78
56

説明

  • 「Node」クラスが作成されます。
  • 必要な属性を持つ別の「circularLinkedList」クラスが作成されます。
  • 最初の要素、つまり「head」を「None」に初期化するために使用される「init」関数があります。
  • 「add_data」という名前の別のメソッドが定義されています。これは、循環リンクリストにデータを追加するために使用されます。
  • リンクリストデータをコンソールに表示するために使用される「print_it」という名前の別のメソッドが定義されています。
  • 「linked_list」クラスのオブジェクトが作成され、そのオブジェクトでメソッドが呼び出されてデータが追加されます。
  • これは、「print_it」メソッドを使用してコンソールに表示されます。

  1. 循環リンクリスト内の要素を検索するPythonプログラム

    循環リンクリストで要素を検索する必要がある場合は、「ノード」クラスを作成する必要があります。このクラスには、ノードに存在するデータと、リンクリストの次のノードへのアクセスという2つの属性があります。 循環リンクリストでは、ヘッドとリアが互いに隣接しています。それらは円を形成するように接続されており、最後のノードに「NULL」値はありません。初期化関数を持つ別のクラスを作成する必要があり、ノードのヘッドは「なし」に初期化されます。 リンクリストにノードを追加したり、リンクリストで特定のノードを検索したり、ノード値を出力したりするために、ユーザーは複数のメソッドを定義します。 以下は同じのデ

  2. Pythonでリンクリストを逆にするプログラム

    2になります。 これを解決するために、このアプローチに従います- solve(head、back)のように再帰的にリストの反転を実行する1つの手順を定義します 頭がない場合は、頭を戻します temp:=head.next head.next:=back 戻る:=頭 温度が空の場合は、ヘッドを戻します head:=temp returnsolve(頭、後ろ) 理解を深めるために、次の実装を見てみましょう- 例 class ListNode:    def __init__(self, data, next = None):     &