亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中有哪些實現棧的方法

發布時間:2021-05-07 15:37:33 來源:億速云 閱讀:190 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關Python中有哪些實現棧的方法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

python有哪些常用庫

python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

Python實現棧

  • 棧的數組實現:利用python列表方法

代碼如下:

# 列表實現棧,利用python列表方法
class listStack(object):

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

  def is_empty(self):
    return self.items == 0

  def size(self):
    return len(self.items)

  def top(self):
    return self.items[len(self.items)-1]

  def push(self, value):
    return self.items.append(value)

  def pop(self):
    return self.items.pop()
if __name__ =="__main__":
  stack = listStack()
  stack.push("welcome")
  stack.push("www")
  stack.push("jb51")
  stack.push("net")
  print "棧的長度:", stack.size()
  print "\n".join(['%s:%s' % item for item in stack.__dict__.items()]) #打印棧stack所有元素
  print "出棧:",stack.pop()
  print "出棧:",stack.pop()
  print "出棧:",stack.pop()

運行結果:

棧的長度: 4
items:['welcome', 'www', 'jb51', 'net']
出棧: net
出棧: jb51
出棧: www

  • 棧的鏈表實現:

棧的鏈表實現中,壓棧(push)類似于在單鏈表中表頭添加節點;出棧(pop)類似于鏈表中表頭刪除節點并返回對應節點值;棧頂元素(top)就是獲取鏈表中的第一個元素

鏈表節點的定義直接嵌套在鏈表棧類中

代碼如下:

# 鏈表實現棧
class linkedStack(object):

  class Node(object):
    def __init__(self, value=None, next=None):
      self.value = value
      self.next = next

  def __init__(self):
    self.top = None
    self.length = 0

  def is_empty(self):
    return self.length == 0

  def size(self):
    return self.length

  # 獲取棧頂元素
  def get(self):
    if self.is_empty():
      raise Exception("Stack is empty!")
    return self.top.value

  # 壓棧
  def push(self, value):
    node = self.Node(value)
    old_top = self.top
    self.top = node
    node.next = old_top
    self.length += 1

  # 出棧
  def pop(self):
    if self.length == 0:
      raise Exception("Stack is empty!")

    item = self.top.value
    curnode = self.top.next
    self.top.next = self.top
    self.top = curnode
    self.length -= 1
    return item
if __name__ =="__main__":
  stack = linkedStack()
  stack.push("welcome")
  stack.push("www")
  stack.push("jb51")
  stack.push("net")
  print "棧的長度:", stack.size()
  print "出棧:",stack.pop()
  print "出棧:",stack.pop()
  print "出棧:",stack.pop()
  print "出棧:",stack.pop()

上述就是小編為大家分享的Python中有哪些實現棧的方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金秀| 社会| 阳江市| 鄯善县| 临猗县| 西贡区| 阆中市| 商水县| 永宁县| 淮滨县| 富源县| 山阴县| 青州市| 临洮县| 察哈| 奈曼旗| 通城县| 阿拉尔市| 康保县| 白城市| 筠连县| 普格县| 花垣县| 济宁市| 小金县| 韶关市| 长泰县| 开化县| 彭水| 洛南县| 永顺县| 嫩江县| 灵寿县| 紫阳县| 湖北省| 肃南| 贵州省| 甘南县| 海晏县| 佳木斯市| 渝中区|