ds之栈

一般而言 很多数据结构 都可以使用数组实现(也就是顺序表)

也可以使用链表实现 py里找一圈你可能没有看到栈的实现

是因为可以直接使用list实现栈 简单!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Stack(object):
# 初始化栈为空列表
def __init__(self):
self.items = []

# 判断栈是否为空,返回布尔值
def is_empty(self):
return self.items == []

# 返回栈顶元素
def peek(self):
return self.items[len(self.items) - 1]

# 返回栈的大小
def size(self):
return len(self.items)

# 把新的元素堆进栈里面(程序员喜欢把这个过程叫做压栈,入栈,进栈……)
def push(self, item):
self.items.append(item)

# 把栈顶元素丢出去(程序员喜欢把这个过程叫做出栈……)
def pop(self, item):
return self.items.pop()