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
  • 相关阅读:
    解决ios下iframe不能滑动
    每天一题之js执行顺序
    async函数的返回值
    小程序自定义Tabbar
    windows10配置vue3项目踩坑记录
    vue2+循环链表解决一个历史趣题
    小程序内协议使用的三种方法
    HDFS的java操作
    HDFS工作原理笔记
    win10已经编译好的hadoop2.6.5
  • 原文地址:https://www.cnblogs.com/zlsgh/p/9562136.html
Copyright © 2011-2022 走看看