私は C++ コーダーです。最近Pythonを始めました。Python での単純なリンク リストの実装を見ていました。私はここで少し混乱しています。ここだけでなく、Tree 実装などでも同じ問題があります。
class Element には、データと次のノードへのポインタが含まれます。完璧で問題ありません。ただし、クラス LinkedList では、self.tail.next=e を確認できます。次に、Element クラスのオブジェクトがアクセスする必要があるよりも、パブリックであっても Element クラスの変数です。ここで、self.tail.next = e のように記述するにはどうすればよいでしょうか。私は混乱しています。
class Element:
def __init__(self,x):
self.data=x
self.next=None
class LinkedList:
def __init__(self):
self.head=None
self.tail=None
def append(self,x):
# create a new Element
e = Element(x)
# special case: list is empty
if self.head==None:
self.head=e
self.tail=e
else:
# keep head the same
self.tail.next=e
self.tail=e