[データ構造with Python]リンクリスト(リンクリスト)-1


リンクリスト

  • リンクリストは、矢印によってデータを接続して管理するデータ構造
  • を提供する.

    用語

  • ノード(ノード):データ記憶部(データ値、ポインタ)からなる
  • .
  • ポインタ(Pointer):空間
  • 、各ノード内に次のノードまたは前のノードとの接続情報がある

    Node実装

  • ノードオブジェクト
  • を作成
    class Node:
    	def __init__(self, data, next=None):
            self.data = data    	# 노드의 데이터
            self.next = next        # 노드의 포인터
    接続
  • ノードとノード
  • node1 = Node(1)        # 노드1 생성
    node2 = Node(2)        # 노드2 생성
    node1.next = node2        # 노드1의 포인터로 노드2를 연결
    head = node1
  • リンクリストにデータを追加する方法
  • # Node 클래스 안에 메서드 생성
    def add(self, data):
    	node = head        # 맨 앞에 노드
        # 노드의 포인터가 있을 때까지 = 포인터가 None이면 while문 끝
        while node.next:	   
            node = node.next
        node.next = Node(data)    # 끝에 연결
    # 마지막 노드의 포인터에 새로운 노드를 연결하는 것!
  • リンクリスト
  • にデータを追加
    node1 = Node(1)
    head = node1
    for index in range(2, 10):
        add(index)		# 1 2 3 4 5 6 7 8 9
  • リンクリストデータ出力
  • node = head
    while node.next:
        print(node.data)
        node = node.next
    print (node.data)
    # 1 2 3 4 5 6 7 8 9