python資料結構之棧的實現

2021-09-09 05:51:22 字數 1097 閱讀 9915

棧(stack)又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。棧的特點:先進後出。

"""棧"""

def __init__(self):

self.__item =

def is_empty(self):

"""判斷是否為空"""

return self.__item ==

def size(self):

"""返回棧的大小"""

return self.__item.__len__()

def push(self, item):

"""插入元素"""

def pop(self):

"""彈出元素"""

return self.__item.pop()

def peek(self):

"""返回棧頂元素"""

return self.__item[len(self.__item) - 1]

if __name__ == '__main__':

s = stack()

print(s.is_empty())

print(s.size())

s.push(100)

s.push(200)

s.push(300)

print(s.is_empty())

print(s.size())

print(s.pop())

print(s.pop())

print(s.pop())

s.push(400)

s.push(500)

s.push(600)

print(s.peek())

python線性資料結構之棧的實現

資料結構 帶有結構特性的資料元素的集合。常見的資料結構 集合,線性結構,樹形結構,圖形結構等。線性結構 表中各個結點具有線性關係。常見的線性結構 棧stack 佇列queue 雙端佇列deque和列表list 棧stack 一次有序的資料項集合,在棧中,資料項的加入和移除都僅發生在同一端。這一端叫棧...

資料結構之棧實現

ps 棧用類實現比較好,可以同時管理多種資料結構。不過對於剛剛接觸的我來說,就看著數,按著書上的流程走吧。我會盡力把棧的特點講解清楚,以後有了更深入的了解,我會再來補充的。逆波蘭表示法 是一種將運算子寫在運算元後面的描述程式 算式 的方法。舉個例子,我們平常用中綴表示法描述的算式 1 2 5 4 改...

資料結構Python實現 棧

有些地方稱為堆疊。可以存入 訪問 刪除元素,其只能允許在容器的一端進行載入資料和輸出資料,任何時候訪問和刪除的資料都是最好存入的那個資料,預設了訪問的順序。其原理為後進先出。pop 彈出棧頂元素 peek 返回棧頂元素,只是得到其數值並不彈出來 stack 建立乙個新的空棧 size 返回棧的元素個...