用Python實現棧和佇列的功能

2021-10-02 15:21:38 字數 2132 閱讀 1843

棧:先進後出 。

實現的功能:入棧; 出棧; 取棧頂元素; 判斷棧是否為空; 顯示棧的元素。

class

stack

:def

__init__

(self)

: self.stack =

defpush

(self,value)

:"""

:param value: 入棧元素

:return:

"""return

true

defpop

(self)

:# 判斷棧是否為空

if self.stack:

# 獲取出棧元素 並返回

item = self.stack.pop(

)return item

else

:return

false

deftop

(self)

:# 取棧頂元素

if self.stack:

return self.stack[-1

]else

:return

false

deflength

(self)

:return

len(self.stack)

defview

(self)

:# 顯示棧內每個元素

return

','.join(self.stack)

s = stack(

)s.push(

'1')

s.push(

'2')

s.push(

'3')

print

(s.view())

item = s.pop(

)print

(item)

print

(s.view(

))

輸出結果:

1,2

,331

,2

佇列:先進先出。

功能:入隊;出隊;取隊尾元素;佇列長度;顯示佇列元素。

class

stack

:def

__init__

(self)

: self.stack =

defpush

(self, value)

:"""

:param value: 入佇列元素

:return:

"""return

true

defpop

(self)

:# 判斷佇列是否為空

if self.stack:

# 獲取出佇列元素 並返回

item = self.stack.pop(0)

return item

else

:return

false

deftop

(self)

:# 取佇列尾元素

if self.stack:

return self.stack[-1

]else

:return

false

deflength

(self)

:return

len(self.stack)

defview

(self)

:# 顯示佇列內每個元素

return

','.join(self.stack)

s = stack(

)s.push(

'1')

s.push(

'2')

s.push(

'3')

print

(s.view())

item = s.pop(

)print

(item)

print

(s.view(

))

輸出結果:

1,2

,312

,3

Python用List實現棧和佇列

class stack def init self self.items 初始化乙個列表 defis empty self 如果為空則返回true 否則返回false return self.items defpop self try return self.items.pop except rai...

用棧實現佇列 用佇列實現棧

棧的特點 filo firstinlastout 僅能從棧頂插入,刪除元素。最基本的介面包括push 從棧頂壓入元素 pop 從棧頂彈出元素 佇列的特點 fifo firstinfirstout 僅能從隊頭刪除元素,從隊尾插入元素。最基本的介面包括enque 從隊尾插入元素 deque 從隊頭刪除元...

用棧實現佇列 棧和佇列學習

正如標題所述,你需要使用兩個棧來實現佇列的一些操作。佇列應支援push element pop 和 top 其中pop是彈出佇列中的第乙個 最前面的 元素。pop和top方法都應該返回第乙個元素的值。棧是先進後出,佇列是先進先出。第一想法是用棧一接收push的數。每次pop和top的時候,把棧一的數...