Python 節(jié)點

python 節(jié)點

在有些情況下,存儲數(shù)據(jù)的內存分配不能位于連續(xù)的內存塊中。所以我們接受指針的幫助,其中數(shù)據(jù)和數(shù)據(jù)元素的下一個位置的地址也被存儲。所以我們從當前數(shù)據(jù)元素的值中知道下一個數(shù)據(jù)元素的地址。通常這樣的結構被稱為指針。但在python中,我們將它們稱為節(jié)點。

節(jié)點是各種其他數(shù)據(jù)結構鏈接列表和發(fā)can可以在python中處理的基礎。

 

創(chuàng)建節(jié)點

這些節(jié)點是通過實現(xiàn)一個將保存指針和數(shù)據(jù)元素的類來創(chuàng)建的。在下面的例子中,我們創(chuàng)建了一個名為daynames的類來保存星期幾的名稱。nextval指針被初始化為空和三個節(jié)點,并用值初始化,如圖所示。

節(jié)點e1的下一個指針指向e3,而節(jié)點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

 

遍歷節(jié)點元素

我們可以通過創(chuàng)建一個變量并為其分配第一個元素來遍歷上面創(chuàng)建的節(jié)點的元素。然后我們使用while循環(huán)和nextval指針來打印出所有的節(jié)點元素。請注意,我們還有一個額外的數(shù)據(jù)元素,并將nextval指針正確排列,以便按照正確的順序將輸出呈現(xiàn)為一周的幾天。

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

當上面的代碼執(zhí)行時,它會產(chǎn)生以下結果。

mon
tue
wed
thu

插入和刪除等附加操作可以通過在鏈接列表和樹等通用數(shù)據(jù)結構中使用此節(jié)點容器來實現(xiàn)適當?shù)姆椒▉硗瓿?。所以我們在接下來的章?jié)中對它們進行研究。

下一節(jié):python 鏈表

python 數(shù)據(jù)結構

相關文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频