真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中有哪些實(shí)現(xiàn)棧的方法-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Python中有哪些實(shí)現(xiàn)棧的方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

渭南網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,渭南網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為渭南成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的渭南做網(wǎng)站的公司定做!python有哪些常用庫

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

Python實(shí)現(xiàn)棧

  • 棧的數(shù)組實(shí)現(xiàn):利用python列表方法

代碼如下:

# 列表實(shí)現(xiàn)棧,利用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()

運(yùn)行結(jié)果:

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

  • 棧的鏈表實(shí)現(xiàn):

棧的鏈表實(shí)現(xiàn)中,壓棧(push)類似于在單鏈表中表頭添加節(jié)點(diǎn);出棧(pop)類似于鏈表中表頭刪除節(jié)點(diǎn)并返回對(duì)應(yīng)節(jié)點(diǎn)值;棧頂元素(top)就是獲取鏈表中的第一個(gè)元素

鏈表節(jié)點(diǎn)的定義直接嵌套在鏈表?xiàng)n愔?/p>

代碼如下:

# 鏈表實(shí)現(xiàn)棧
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中有哪些實(shí)現(xiàn)棧的方法了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標(biāo)題:Python中有哪些實(shí)現(xiàn)棧的方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/dsidji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部