リンクリストを逆順にするために、以下のシンプルで簡単な方法を使用します。
-
リンクリストのノードを辿りながら、各ノードの次のノードへの参照を逆にします。これにより、ノードの順序が逆転します。
-
リンクリストの先頭ノードの参照を更新します。これにより、逆順になったリンクリストの新しい先頭が得られます。
以下に、Pythonでの実装例を示します。
class Node:
def __init__(self, data):
self.data = data
self.next = None
def reverse_linked_list(head):
prev = None
current = head
while current:
next_node = current.next
current.next = prev
prev = current
current = next_node
head = prev
return head
# リンクリストの作成
head = Node(1)
head.next = Node(2)
head.next.next = Node(3)
head.next.next.next = Node(4)
# 逆順にリンクリストを変更する
head = reverse_linked_list(head)
# 逆順になったリンクリストの要素を表示する
current = head
while current:
print(current.data)
current = current.next
このコードでは、reverse_linked_list
関数を使用してリンクリストを逆順に変更しています。最初にprev
とcurrent
を設定し、現在のノードの次のノードへの参照を逆にしていきます。最後に、新しい先頭ノードを返します。
この方法を使用することで、任意のリンクリストを効率的に逆順にすることができます。この記事のコード例を参考にして、実際の開発プロジェクトで利用してみてください。