黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

Python 棧

python 棧

在英語(yǔ)詞典中,單詞堆意味著將對(duì)象放在另一個(gè)上。在這個(gè)數(shù)據(jù)結(jié)構(gòu)中分配內(nèi)存的方式是一樣的。它以類似的方式存儲(chǔ)數(shù)據(jù)元素,因?yàn)橐欢驯P子在廚房中一個(gè)在另一個(gè)之上存儲(chǔ)。所以棧數(shù)據(jù)strcuture允許一端的操作可以稱為棧頂。我們可以添加元素或僅從堆棧中移除元素。

在堆棧中,順序排列的最后一個(gè)元素將首先出現(xiàn),因?yàn)槲覀冎荒軓亩褩m敳恳瞥?。這種功能稱為后進(jìn)先出(lifo)功能。添加和刪??除元素的操作稱為 push 和 pop 。在下面的程序中,我們將它實(shí)現(xiàn)為add和remove函數(shù)。我們聲明一個(gè)空列表并使用append()和pop()方法添加和刪除數(shù)據(jù)元素。

 

推入堆棧

class stack:

    def __init__(self):
        self.stack = []

    def add(self, dataval):
# use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return true
        else:
            return false
# use peek to look at the top of the stack

    def peek(self):     
        return self.stack[0]

astack = stack()
astack.add("mon")
astack.add("tue")
astack.peek()
print(astack.peek())
astack.add("wed")
astack.add("thu")
print(astack.peek())

當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:

mon
mon

 

來自stack的pop

正如我們所知道的,我們只能從堆棧中移除太多的數(shù)據(jù)元素,我們實(shí)現(xiàn)了一個(gè)可以實(shí)現(xiàn)這一點(diǎn)的python程序。以下程序中的remove函數(shù)返回最上面的元素。我們首先通過計(jì)算堆棧的大小來檢查頂層元素,然后使用內(nèi)置的pop()方法找出最頂層的元素。

class stack:

    def __init__(self):
        self.stack = []

    def add(self, dataval):
# use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return true
        else:
            return false

# use list pop method to remove element
    def remove(self):
        if len(self.stack) <= 0:
            return ("no element in the stack")
        else:
            return self.stack.pop()

astack = stack()
astack.add("mon")
astack.add("tue")
print(astack.remove())
astack.add("wed")
astack.add("thu")
print(astack.remove())

當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:

tue
thu

下一節(jié):python 隊(duì)列

python 數(shù)據(jù)結(jié)構(gòu)

相關(guān)文章