python数据结构(一)------栈
定义:有序的数据集合
排序特征:先进后出(LIFO list-in-first-out)
例子:餐厅中的盘子 第一个放的在最下面 最后一个放的在最上面 拿的时候第一个拿的是最后一个放的 最后拿的是最先放的
Stack 创建一个空的栈
push(item)往栈中添加一个元素
isEmpty()判断栈是否为空 返回布尔类型
size() 查看栈的数量 返回整数
peek() 返回栈顶端的元素
pop() 删除栈中的元素
"""
lifo
last-in-first-out
先进后出
"""
class Stack(object):
def __init__(self):
self.items = []
# 判断栈是否为空
def isEmpty(self):
"""
判断栈是否为空 返回布尔类型
:return:
"""
return self.items == []
# 往栈中添加元素
def push(self, item):
"""
传入一个参数
没有返回值
:param item:
:return:
"""
return self.items.append(item)
# 从栈中删除元素
def pop(self):
"""
:return: 没有返回值
"""
return self.items.pop()
# 返回栈顶端的元素
def peek(self):
"""
:return: 返回栈中顶端元素 不会进行修改
"""
return self.items[len(self.items) - 1]
# 查看栈的数量 返回一个整数
def size(self):
"""
:return: 返回一个整数
"""
return len(self.items)
if __name__ == '__main__':
s = Stack()
print(s.isEmpty()) # True
s.push(1)
s.push('dpg')
print(s.peek()) # dpg
s.push(True)
print(s.size()) # 3
print(s.isEmpty()) # False