栈(stack)是一个项的有序集合,添加项和移除项都发生在同一端,这个端称为“顶”,另一端称为“底”。后添加的项会被首先移除,这种排序原则称为后进先出(LIFO)。

栈操作

  1. stack():创建一个新的空栈
  2. stack.is_empty():判断是否为空
  3. stack.push(item):元素入栈
  4. stack.peek():元素出栈(不删除栈顶元素)
  5. stack.size():栈的大小
  6. stack.pop():元素出栈(删除栈顶元素)

Python实现栈

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# python list实现栈
class Stack():
def __init__(self):
self.items = []

def isEmpty(self):
return self.items == []

def push(self, item):
self.items.append(item)

def peek(self):
if self.isEmpty():
return "The stack is empty!"
else:
return self.items[-1]

def size(self):
return len(self.items)

def pop(self):
if self.isEmpty():
return "The stack is empty!"
else:
return self.items.pop()