Python 節點
python 節點
在有些情況下,存儲數據的內存分配不能位于連續的內存塊中。所以我們接受指針的幫助,其中數據和數據元素的下一個位置的地址也被存儲。所以我們從當前數據元素的值中知道下一個數據元素的地址。通常這樣的結構被稱為指針。但在python中,我們將它們稱為節點。
節點是各種其他數據結構鏈接列表和發can可以在python中處理的基礎。
創建節點
這些節點是通過實現一個將保存指針和數據元素的類來創建的。在下面的例子中,我們創建了一個名為daynames的類來保存星期幾的名稱。nextval指針被初始化為空和三個節點,并用值初始化,如圖所示。
節點e1的下一個指針指向e3,而節點e3的下一個指針指向e2。
class daynames: def __init__(self, dataval=none): self.dataval = dataval self.nextval = none e1 = daynames('mon') e2 = daynames('tue') e3 = daynames('wed') e1.nextval = e3 e3.nextval = e2
遍歷節點元素
我們可以通過創建一個變量并為其分配第一個元素來遍歷上面創建的節點的元素。然后我們使用while循環和nextval指針來打印出所有的節點元素。請注意,我們還有一個額外的數據元素,并將nextval指針正確排列,以便按照正確的順序將輸出呈現為一周的幾天。
class daynames: def __init__(self, dataval=none): self.dataval = dataval self.nextval = none e1 = daynames('mon') e2 = daynames('wed') e3 = daynames('tue') e4 = daynames('thu') e1.nextval = e3 e3.nextval = e2 e2.nextval = e4 thisvalue = e1 while thisvalue: print(thisvalue.dataval) thisvalue = thisvalue.nextval
當上面的代碼執行時,它會產生以下結果。
mon tue wed thu
插入和刪除等附加操作可以通過在鏈接列表和樹等通用數據結構中使用此節點容器來實現適當的方法來完成。所以我們在接下來的章節中對它們進行研究。