class lnode:
"""節點的類"""
def __init__(self,x):
self.data = x
self.next = none
class mystack:
"""用鍊錶實現棧"""
def __init__(self):
self.data = none
self.next = none
# 判斷棧是否為空
def isempty(self):
return self.next == none
#獲取棧中元素個數
def size(self):
s = 0
p = self.next
while p != none:
p = p.next
s += 1
return s
#取得棧頂元素
def top(self):
if self.next != none:
return self.next.data
else:
print("棧已經為空,無法提取元素")
return none
def pop(self):
if self.next != none:
tmp = self.next
self.next = self.next.next
print("彈棧成功")
return tmp.data
else:
print("棧已經空了,無法彈出")
return none
#把e壓入棧頂
def push(self, e):
p = lnode(e)
p.next = self.next
self.next = p
#測試棧的使用
if __name__ == "__main__":
s = mystack()
s.push(4)
s.push(5)
print("棧頂元素為:%s" % s.top())
print("棧的長度為:%s" % s.size())
s.pop()
print("棧頂元素為:%s" % s.top())
print("棧的長度為:%s" % s.size())
s.pop()
print("棧頂元素為:%s" % s.top())
print("棧的長度為:%s" % s.size())
Python 單鏈表實現棧操作
單鏈表實現棧操作,規定棧頂在鍊錶的頭部 如下 coding utf 8 class linkedstack class node def init self,element,next self.element element self.next next 棧方法 def init self self...
單鏈表實現棧
程式設計實現下面的棧頂操作 cpp view plain copy print?class mydata 解析 顯然這裡需要實現棧的3種基本操作,即進棧 出棧以及判空。為了方便起見,使用單鏈表結構實現棧並且使用類的形式來定義站內及其節點。首先是節點類和棧類的具體定義,程式 如下 cpp view p...
用單鏈表模擬棧模型
include include struct node typedef struct node ptrtonode typedef ptrtonode stack struct node stack createstack void head next list return head int is...