一 介绍
列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。
二 封装一个堆栈类
# 简单的堆栈模块
classPyStack:
def __init__(self,size =20):
self.stack =[]
self.size = size
self.top =-1
def setsize(self,size):
self.size = size
def push(self,element):
if self.isFull():
raiseStackException('PyStackOverflow')
else:
element = self.stack.append(element)
self.top = self.top +1
def pop(self):
if self.isEmpty():
raiseStackException('PyStackUnderflow')
else:
element = self.stack[-1]
self.top = self.top -1
del self.stack[-1]
return element
defTop(self):
return self.top
def empty(self):
self.stack =[]
self.top =-1
def isEmpty(self):
if self.top ==-1:
returnTrue
else:
returnFalse
def isFull(self):
if self.top == self.size -1:
returnTrue
else:
returnFalse
classStackException(Exception):
def __init__(self,data):
self.data = data
def __str__(self):
return self.data
if __name__ =='__main__':
stack =PyStack()
for i in range(10):
stack.push(i)
print(stack.Top())
for i in range(10):
print(stack.pop())
stack.empty()
for i in range(21):
stack.push(i)#此处将引发异常
三 运行结果
9
9
8
7
6
5
4
3
2
1
0
Traceback (most recent call last):
File "E:\python\work\PyStack.py", line 54, in <module>
stack.push(i) #此处将引发异常
File "E:\python\work\PyStack.py", line 11, in push
raise StackException('PyStackOverflow')
StackException: PyStackOverflow
相关推荐
python数据结构之栈和队列.md
本文实例讲述了Python数据结构之栈、队列及二叉树定义与用法。分享给大家供大家参考,具体如下: 目前只实现了三种,栈、队列和二叉树,哪天得空继续补吧~ 1. 栈 #栈 class Stack: def __init__(self,size = 16): ...
### Python数据结构之栈、队列的实现及应用详解 #### 一、栈(Stack) **栈**是一种特殊的线性表,只允许在一端进行插入和删除操作,这端通常被称为**栈顶**(top),而与之相对的是**栈底**(bottom)。这种数据结构...
Python 数据结构 16栈的实现.mp4
《Python数据结构与算法分析(第2版)》是一本专为对计算机科学和Python编程感兴趣的读者准备的书籍。本书旨在帮助读者理解数据结构、抽象数据类型和算法的重要性,同时提供Python语言的基础知识和实践应用。 在...
##### 2.5 Python数据结构的性能 讨论了Python内置数据结构(如列表和字典)的性能特点,并分析了它们在不同情况下的表现。 ##### 2.6 列表 深入研究Python列表的工作原理,包括其内部实现机制以及常见操作的复杂度...
Python数据结构是编程基础的重要组成部分,它涉及到如何有效地组织和管理数据,以便高效地执行各种操作。本课件集合了关于Python数据结构的详细讲解,是期末考试复习的理想资源,同时也适合希望深入理解数据存储和...
标题中的“Python数据结构与算法”指向了文档内容的核心主题,即通过Python语言来探索和实现数据结构与算法的相关知识。这部分内容主要涵盖Python编程语言中数据结构的实现方式、算法的设计技巧以及递归等编程概念的...
Python中的栈(Stack)是一种基于“后进先出”(LIFO)原则的数据结构,它在数据处理中扮演着重要角色。栈的操作主要包括入栈(push)、出栈(pop)、查看栈顶元素(peek)以及检查栈是否为空(is_empty)。在Python...
数据结构与算法(Python) 一、引入概念 1-01算法引入 1-02 时间复杂度与大O表示法 1-03-最坏时间复杂度与计算规则 1-04-常见时间复杂度与大小关系 1-05-代码执行时间测量模块 1-06-Python列表类型不同操作的...
《Python数据结构与算法》是一本深入探讨Python编程中数据结构和算法的专著,共有22个章节,旨在帮助读者理解并掌握Python语言在处理数据和优化计算过程中的核心概念。这本书以其清晰的讲解和易懂的例子,使得即便是...
顺序表是最基本的数据结构之一,Python 中的 list 和 tuple 两种类型采用的就是顺序表的实现技术。顺序表可以分为两种实现模型:顺序表和链表。顺序表将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们...
在Python中,常见的数据结构包括数组、链表、栈、队列、堆、树、图等。数组是一种固定大小的序列,可以快速访问任意位置的元素;链表则允许动态地增加或减少元素,但访问速度相对较慢。栈是一种后进先出(LIFO)的...
数据结构与算法是计算机科学与技术专业的重要课程,Python版的数据结构课程设计旨在深化学生对这一领域的理解和应用能力。这门课程以60个学时,4个学分的形式进行,要求学生具备基础的数据结构知识,如链表、树、图...
4. **列表(List)**:列表是Python中最常用的数据结构之一,它可以存储任意类型的对象,并支持动态增删改查操作。列表本质上是连续的内存空间,因此对于插入和删除操作,其性能会根据元素的位置有所不同。 理解...