- ノードの定義: まず、リンクリストの各ノードを定義する必要があります。ノードは値と次のノードへの参照(ポインタ)を持ちます。以下はノードの例です。
class Node:
def __init__(self, data):
self.data = data
self.next = None
- リンクリストの作成: 次に、リンクリストを作成します。以下は、いくつかの要素を持つ簡単なリンクリストの例です。
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
- 指定位置にノードを挿入する方法: 次に、指定位置に新しいノードを挿入する方法を見ていきます。
def insert_at_position(self, data, position):
new_node = Node(data)
if position == 0:
new_node.next = self.head
self.head = new_node
else:
current = self.head
count = 0
while current and count < position:
prev = current
current = current.next
count += 1
new_node.next = current
prev.next = new_node
このメソッドは、指定位置が0の場合はリストの先頭にノードを挿入し、それ以外の場合は指定位置までリストを進めてから新しいノードを挿入します。
- 挿入操作の実行: 上記のメソッドを使ってリンクリストに新しいノードを挿入する例を示します。
# リンクリストの作成
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
# 指定位置にノードを挿入
linked_list.insert_at_position(4, 1)
この例では、リンクリストの2番目の位置に値4を持つ新しいノードが挿入されます。
これらのコード例を使用して、Pythonでリンクリストに新しいノードを指定位置に挿入する方法を学ぶことができます。必要に応じて、他の操作やエラーハンドリングも追加することができます。