まず、以下の3つのノードを含むシングルリンクリストを作成します。
class Node:
def __init__(self, data):
self.data = data
self.next = None
# ノードの作成
node1 = Node(10)
node2 = Node(20)
node3 = Node(30)
# リンクの設定
node1.next = node2
node2.next = node3
次に、データが50の新しいノードを挿入する方法を説明します。
def insert_node(head, data):
new_node = Node(data) # 挿入する新しいノードを作成
if head is None: # リストが空の場合、新しいノードをヘッドに設定
head = new_node
else:
current = head
while current.next is not None:
current = current.next
current.next = new_node # リストの末尾に新しいノードを追加
return head
上記のコードでは、与えられたヘッドノードのリンクリストの末尾に新しいノードを追加するinsert_node
関数を定義しています。リストが空の場合は、新しいノードをヘッドに設定します。リストが空でない場合は、末尾までノードを辿り、末尾のノードのnext
ポインタを新しいノードに設定します。
以下のようにして新しいノードを挿入することができます。
# ノードの挿入
head = insert_node(node1, 50)
これで、データが50の新しいノードがシングルリンクリストの末尾に挿入されました。
シングルリンクリストにノードを挿入する方法を簡単かつ効果的に説明しました。上記のコード例を使用して、他のノードの挿入操作を行うこともできます。シングルリンクリストの操作やアルゴリズムについてさらに学びたい場合は、リンクリストの操作に関する他の記事やリソースを参照してください。