用順序表實現棧 python描述

2021-10-01 02:26:39 字數 1040 閱讀 4939

class

stack

(object):

'''棧'''

def__init__

(self)

:#初始化乙個順序表來作為棧的容器,在python中可以是乙個空列表

self.__list =

defpush

(self,item)

:'''新增乙個新的元素item到棧頂'''

#self.__list是list類的乙個例項,可以呼叫列表基類的方法

defpop

(self)

:'''彈出棧頂元素'''

#也操作尾部

return self.__list.pop(

)def

peek

(self)

:'''返回棧頂元素'''

#如果列表不為空

if self.__list:

return self.__list[-1

]#如果列表為空,list[-1]不能對空列表操作

else

:return

none

defis_empty

(self)

:'''判斷棧是否為空'''

return self.__list ==

defsize

(self)

:'''返回棧的元素個數'''

return

len(self.__list)

if __name__ ==

"__main__"

: s = stack(

)#壓棧時是1 2 3 4

s.push(1)

s.push(2)

s.push(3)

s.push(4)

print

(s.pop())

print

(s.pop())

print

(s.pop())

print

(s.pop())

#彈棧時是4 3 2 1

用順序表實現棧

棧是一種有約束的順式結構,他需要遵循先進後出,後進先出的基本規則,我們可以用順序表和煉表兩種方式來實現 因為簡單就意味著不容易出錯,所以在這裡我使用順序表來實現棧 stack.h pragma once include include 對於棧我們可以用順序表和煉表來實現,棧的 並不難,在此處,為了省...

棧 用python實現棧

分別採用有序列表 單向鏈和雙向鏈實現棧的推入 彈出等功能。方法一 有序列表的實現 直接利用python內建的list實現 class stack object def init self self.stack defpush self,item def peek self if self.isemp...

Linux資料結構 棧(用順序表實現)

用順序表實現的棧和順序表有什麼區別呢?我們先來分析下它們的結構體 順序表 typedef char seqlisttype typedef struct seqstack max size是這個順序表最多能容納的資料 size為當前的元素的個數 棧 typedef char seqstacktype...