在有些情況下,存儲數據的內存分配不能位于連續的內存塊中。所以我們接受指針的幫助,其中數據和數據元素的下一個位置的地址也被存儲。所以我們從當前數據元素的值中知道下一個數據元素的地址。通常這樣的結構被稱為指針。但在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
插入和刪除等附加操作可以通過在鏈接列表和樹等通用數據結構中使用此節點容器來實現適當的方法來完成。所以我們在接下來的章節中對它們進行研究。
?
轉自http://codingdict.com/article/4837
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
