最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python棧的實現(xiàn)方法示例【列表、單鏈表】

 更新時間:2020年02月22日 10:57:21   作者:授我以驢  
這篇文章主要介紹了Python棧的實現(xiàn)方法,結(jié)合實例形式分析了Python基于列表、單鏈表定義棧的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python棧的實現(xiàn)方法。分享給大家供大家參考,具體如下:

Python實現(xiàn)棧

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

代碼如下:

# 列表實現(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

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

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

鏈表節(jié)點(diǎn)的定義直接嵌套在鏈表棧類中

代碼如下:

# 鏈表實現(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()

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

棧的長度: 4
出棧: net
出棧: jb51
出棧: www
出棧: welcome

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python操作Redis之設(shè)置key的過期時間實例代碼

    Python操作Redis之設(shè)置key的過期時間實例代碼

    這篇文章主要介紹了Python操作Redis之設(shè)置key的過期時間實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python實現(xiàn)的一只從百度開始不斷搜索的小爬蟲

    python實現(xiàn)的一只從百度開始不斷搜索的小爬蟲

    這是我第三天學(xué)python了, 想寫一個東西紀(jì)念一下吧,于是寫了一直爬蟲,但是不是好的蟲,只能講網(wǎng)頁的關(guān)鍵詞存到本地, 但是我覺得基本上算是一只小蟲了
    2013-08-08
  • python?skimage圖像處理

    python?skimage圖像處理

    這篇文章主要為大家介紹了python?skimage圖像處理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • django使用xadmin的全局配置詳解

    django使用xadmin的全局配置詳解

    今天小編就為大家分享一篇django使用xadmin的全局配置詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • django里面的forms模塊詳解

    django里面的forms模塊詳解

    這篇文章主要介紹了django里面的forms模塊詳解的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 淺析Python中的for 循環(huán)

    淺析Python中的for 循環(huán)

    這篇文章主要介紹了淺析Python中的for 循環(huán)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 使用python pyserial模塊串口通信方式

    使用python pyserial模塊串口通信方式

    這篇文章主要介紹了使用python pyserial模塊串口通信方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • PyQt5多線程刷新界面防假死示例

    PyQt5多線程刷新界面防假死示例

    今天小編就為大家分享一篇PyQt5多線程刷新界面防假死示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python之字典添加元素的幾種方法

    Python之字典添加元素的幾種方法

    這篇文章主要介紹了Python之字典添加元素的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python爬蟲開發(fā)之PyQuery模塊詳細(xì)使用方法與實例全解

    python爬蟲開發(fā)之PyQuery模塊詳細(xì)使用方法與實例全解

    這篇文章主要介紹了python爬蟲開發(fā)之PyQuery模塊詳細(xì)使用方法與實例全解,需要的朋友可以參考下
    2020-03-03

最新評論

石台县| 高雄市| 丹江口市| 定兴县| 长武县| 元朗区| 收藏| 象山县| 甘肃省| 延寿县| 荆州市| 桦甸市| 福州市| 云阳县| 乌鲁木齐县| 繁峙县| 东阳市| 巴东县| 广宗县| 龙游县| 神农架林区| 汽车| 巨鹿县| 大庆市| 青冈县| 建德市| 莆田市| 上栗县| 化州市| 东乡族自治县| 呈贡县| 竹山县| 德州市| 盐源县| 合作市| 同江市| 沙雅县| 桦甸市| 尼勒克县| 江山市| 行唐县|