今日目標:
pop_front(self)
: 刪除第一個節點push_back(self, data)
: 新增節點到最後方pop_back(self)
: 刪除最後一個節點pop_front()
從下面的程式碼可以看到,這個類別方法被分成 3 個情況來討論:
head
設為 None
head
向後移動def pop_front(self):
if self.head == None:
pass
elif self.head.next == None:
self.head = None
else:
self.head = self.head.next
push_back(self, data)
從下面的程式碼可以看到,這個類別方法被分成 3 個情況來討論:
head
設為新節點def push_back(self, data):
if self.head == None:
self.head = Node(data)
elif self.head.next == None:
self.head = None
else:
cur = self.head
while (cur.next != None):
cur = cur -> next
cur -> next = Node(data)
pop_back()
從下面的程式碼可以看到,這個類別方法被分成 3 個情況來討論:
head
設為 None
next
設為 None
def pop_back(self):
if self.head == None:
return None
if self.head.next == None:
self.head = None
return None
cur = self.head
prev = None
while cur.next != None:
prev = cur
cur = cur.next
prev.next = None
鏈結串列的四種基本操作大概介紹完了,下一篇我們來介紹怎麼輸出所有鏈結串列的資料,以及進階的類別方法。