zoukankan      html  css  js  c++  java
  • 数据结构之 栈 (Python 版)

    数据结构之 栈 (Python 版)
        -- 利用线性表实现栈

    栈的特性: 后进先出

    1.  基于顺序表实现栈
       1 class SStack():
       2 
       3     ''' 
       4     基于顺序表 实现的 栈类 
       5     '''
       6 
       7     def __init__(self):
       8         self._elems = []
       9 
      10     def is_empty():
      11         return self._elems == []
      12 
      13     def top(self):
      14         if self._elems == [] :
      15             raise StackUnderflow(" in Stack.top . ")
      16         return self._elems[-1]
      17 
      18     def push(self,elem):
      19         self._elems.append(elem)
      20         
      21     def pop(self):
      22         if self._elems == [] :
      23             raise StackUnderflow(" in Stack.pop .")
      24         return self._elems.pop()
    2.     基于链表技术实现栈
       1 class LStack():
       2 
       3     ''' 
       4     基于链接表技术实现的栈类, 使用 LNode 作为节点 
       5     '''
       6     
       7     def __init__(self):
       8         self._top = None
       9         
      10     def is_empty(self):
      11         return self._top is None
      12         
      13     def top(self):
      14         if self._top is None :
      15             raise StackUnderflow(" in LStack.top .")
      16         return self._top.elem
      17         
      18     def push(self,elem):
      19         self._top = LNode(elem,self._top)
      20         
      21     def pop(slef):
      22         if self._top is None :
      23             raise StackUnderflow(" in Stack.pop . ")
      24         p = self._top
      25         slef._top = p.next
      26         return p.elem
  • 相关阅读:
    引领5G行业化,广和通荣获“IoT创新大奖”
    Win知识
    物联网通信方式
    萌新配置rip动态路由实验
    FPGA设计经验总结
    UWB定位技术
    REST简介
    linux性能调优总结
    Nginx安装及启动
    leetcode 精选top面试题
  • 原文地址:https://www.cnblogs.com/zlsgh/p/9562136.html
Copyright © 2011-2022 走看看