基于python的数据结构——栈
2020-04-04 本文已影响0人
吃鱼喵了个鱼
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
栈
栈: 最后一个放入的元素被第一个取出的数据结构,也被称为先进后出型数据结构
出栈:将元素从栈中移除
入栈:将元素放回栈中
栈有五个方法:is_empty
,push
,pop
,peek
和size
is_empty
:如果栈为空,is_empty
返回True,反之则返回False
push
:向栈的顶部添加一个元素
pop
:从顶部移除一个元素
peek
:返回顶部的元素,但不会将其移除
size
:返回一个表示栈中元素数量的整型数
下面是用python实现的栈:
class Stack():
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def push(self,item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
last = len(self.items) - 1
return self.items[last]
def size(self):
return len(self.items)
新创建的栈是空的,is_empty
方法将返回True:
stack = Stack()
print(stack.is_empty())
True
exp:使用栈逆转字符串
class Stack():
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def push(self,item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
last = len(self.items) - 1
return self.items[last]
def size(self):
return len(self.items)
stack = Stack()
a = 'Hello'
for i in a:
stack.push(i)
for i in range(len(stack.items)):
print(stack.pop(),end = '')
>> olleH
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<完>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>