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

Pythonで循環リンクリストを作成して表示する方法を解説

循環リンクリスト(Circular Linked List)を作成して表示するには、まず「Node」クラスを定義する必要があります。このクラスには2つの属性を持たせます。1つはノードが保持するデータ、もう1つはリンクリスト内の次のノードへの参照です。循環リンクリストでは、先頭(head)と末尾(rear)が互いに隣接しており、全体が輪のように連結されるのが特徴です。そのため、最後のノードに「NULL」は存在しません。

さらに、初期化関数を持つ「linked_list」クラスを作成し、headを「None」で初期化します。

以下に具体的な実装例を示します。

サンプルコード

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

class linked_list:
    def __init__(self):
        self.head = None
    def add_data(self, my_data):
        new_node = Node(my_data)
        new_node.next = self.head
        self.head = new_node
    def print_it(self):
        temp = self.head
        while(temp):
            print(temp.data)
            temp = temp.next

my_list = linked_list()
my_list.add_data(47)
my_list.add_data(89)
my_list.add_data(34)
my_list.add_data(11)

print("The circular linked list is : ")
my_list.print_it()

出力結果

The circular linked list is :
11
34
89
47

コードの解説

  • ノードの構造を定義する「Node」クラスを作成します。
  • 必要な属性を持つ「linked_list」クラスを作成します。
  • リンクリストにデータを追加するための「add_data」メソッドを定義します。このメソッドは新しいノードをリストの先頭に挿入するため、出力は追加した順序と逆になります。
  • リンクリストのデータをコンソールに表示するための「print_it」メソッドを定義します。
  • 「linked_list」クラスのインスタンスを生成し、「add_data」メソッドを呼び出してデータを追加します。
  • 最後に「print_it」メソッドを使用して、リンクリストの内容をコンソールに出力します。
  1. 循環リンクリスト内の要素を検索するPythonプログラム

    循環リンクリストとは循環リンクリスト(Circular Linked List)は、通常のリンクリストと異なり、最後のノードが先頭ノードに接続されているデータ構造です。そのため、リスト内に「NULL」で終わるノードが存在せず、head(先頭)とtail(末尾)が互いに隣接し、円を形成するように連結されています。循環リンクリスト内の特定の要素を検索するには、まず「Node」クラスを作成する必要があります。このクラスには、ノードに格納されるデータと、次のノードへの参照という2つの属性を持たせます。さらに、初期化関数を持つ別のクラスを作成し、headノードを「None」で初期化します。そして、リスト

  2. Pythonで3Dリスト(3次元配列)を作成する方法【サンプルコード付き】

    3Dリストとは、いわゆる3次元配列のことです。本記事では、Pythonで3Dリストを作成し、その内容を整形して出力するプログラムを解説します。ここでは例として、文字列「*」を初期値とする3×2×2の3次元リストを生成しますが、仕組みを理解すれば整数など任意の要素を持つ配列にも簡単に応用できます。 3Dリストのイメージ 3次元リストは、リストの中にリスト、さらにその中にリストが入った多段構造のデータです。たとえば、3×3×2の3Dリストは次のように表現できます。 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] アルゴリズム ステップ1: