Python数据结构-列表实现堆栈
介绍
堆栈一种特别的列表,其只允许在一端插入删除数据。也就是所谓的"先进后出"。乍一看,堆栈就是一个特殊化的列表,也就是列表完全可以当作堆栈用,但是由于我们经常对列表进行在一端插入和删除数据操作,因此渐渐的其就成为一个独立的数据结构--堆栈
常用方法
stack.push(value)
在堆栈末尾添加一个元素
stack.pop(value)
删除并返回栈顶元素,当堆栈为空会提示'堆栈已空,出栈失败',并返回None
stack.show_top()
查看并返回栈顶元素,但不删除,当堆栈为空会提示'堆栈已空,查看失败',并返回None
stack.stack_is_empty()
判断堆栈是否为空
方法事例
class Stack():
def __init__(self):
self._stack = []
# 入栈
def push(self, value):
self._stack.append(value)
# 出栈
def pop(self):
if self.stack_is_empty():
return self._stack.pop()
else:
print('堆栈已空,出栈失败')
# 查看栈顶元素
def show_top(self):
if self.stack_is_empty():
return self._stack[-1]
else:
print('堆栈已空,查看失败')
# 判断堆栈是否为空
def stack_is_empty(self):
return self._stack != []
stack = Stack()
# 入栈
stack.push(1)
stack.push(2)
stack.push(3)
# 查看栈顶数据
print(f'当前栈顶数据为:{stack.show_top()}') # 当前栈顶数据为:3
# 出栈
print(f'当前出栈数据为:{stack.pop()}') # 当前出栈数据为:3
print(f'当前出栈数据为:{stack.pop()}') # 当前出栈数据为:2
print(f'当前出栈数据为:{stack.pop()}') # 当前出栈数据为:1
print(f'当前出栈数据为:{stack.pop()}') # 堆栈已空,出栈失败 当前出栈数据为:None
写在最后
入门使用就这些,更高深的用法在实践中去发现吧。。。
共有 0 条评论