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
  • 相关阅读:
    架构之道(5)
    项目的命名规范
    semantic框架
    jquery.timepicker.js
    jquery.marquee.js
    CkEditor
    快速测试,其实没什麽大不了
    架构之道(4)
    架构之道(3)
    子网划分与子网掩码
  • 原文地址:https://www.cnblogs.com/zlsgh/p/9562136.html
Copyright © 2011-2022 走看看