1. 栈的定义与操作
1.1 栈的定义
插入(入栈)和删除(出栈)操作只能在一端(栈顶)进行的线性表。即先进后出(First In Last Out)的线性表。
1.2 栈的操作
- 入栈操作:将数据元素值插入栈顶。
- 出栈操作:移除栈顶的数据元素。
- 是否为空:判断栈中是否包含数据元素。
- 得到栈深:获取栈中实际包含数据元素的个数。
- 清空操作:移除栈中的所有数据元素。
- 获取栈顶元素。
1.3 栈的实现(python)
class Stack:
"""模拟栈"""
def __init__(self):
self.items = []
def isEmpty(self):
return len(self.items)==0
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
if not self.isEmpty():
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
s=Stack()
print(s.isEmpty())
s.push(4)
s.push('dog')
print(s.peek())
s.push(True)
print(s