博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构:栈 顺序表方法和单链表方法(python版)
阅读量:4347 次
发布时间:2019-06-07

本文共 1626 字,大约阅读时间需要 5 分钟。

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3  4  5 class StackUnderflow(ValueError): 6     pass 7  8 #链表节点 9 class Node(object):10     def __init__(self, elem, next_ = None):11         self.elem = elem12         self.next = next_13 14 #顺序表实现栈15 class SStack(object):16     def __init__(self):17         self._elems = []18 19     def is_empty(self):20         return self._elems == []21 22     def top(self):23         if self.is_empty():24             raise StackUnderflow25         return self._elems[-1]26 27     def push(self, elem):28         self._elems.append(elem)29 30     def pop(self):31         if self.is_empty():32             raise StackUnderflow33         return self._elems.pop()34 35 #链表实现栈36 class LStack(object):37     def __init__(self):38         self._top = None39 40     def is_empty(self):41         return self._top is None42 43     def top(self):44         if self.is_empty():45             raise StackUnderflow("in LStack.top()")46         return self._top.elem47 48     def push(self, elem):49         self._top = Node(elem, self._top)50 51     def pop(self):52         if self.is_empty():53             raise StackUnderflow("in LStack.pop()")54         result = self._top.elem55         self._top = self._top.next56         return result57 58 59 60 if __name__=="__main__":61     st1 = SStack()62     st1.push(3)63     st1.push(5)64     while not st1.is_empty():65         print(st1.pop())66 67     print("============")68     st2 = LStack()69     st2.push(3)70     st2.push(5)71     while not st2.is_empty():72         print(st2.pop())

 

转载于:https://www.cnblogs.com/xautxuqiang/p/6117904.html

你可能感兴趣的文章
JSP 点击量统计
查看>>
期望dp+高斯消元优化——uvalive4297好题
查看>>
3月12日 增删改查
查看>>
程序中提醒用户进去App Store 评分 跳转 代码
查看>>
js闭包
查看>>
关于FlasCC(Adobe Flash C/C++ Compiler)
查看>>
学习网站搜集
查看>>
深度搜索(2)
查看>>
yum安装时出现"Existing lock /var/run/yum.pid: another copy is running as pid..."
查看>>
带抽象方法的枚举类
查看>>
推送通知(一)本地通知
查看>>
Python_初识函数和返回值_22
查看>>
大数据 电信客服项目
查看>>
软件工程迭代开发第二天
查看>>
创建简单的ajax对象
查看>>
LBS推荐系统的设计方法
查看>>
Java学习笔记(二十)——Java 散列表_算法内容
查看>>
Python开发【第十四篇】:Web框架本质
查看>>
【40】类中类
查看>>
第三章 springboot+swagger
查看>>