python实现栈和队列

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
26
27
28
29
30
31
class Stack:
def __init__(self):
self.items = []

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

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

def pop(self):
return self.items.pop()

def peek(self):
return self.items[len(self.items) - 1]

def size(self):
return len(self.items)
#将一个新项添加到栈顶
s.push('dog')
#从栈返回顶部元素但不会删除
s.peek()
#返回栈中的item数量
s.size()
#判断栈是否为空
s.isEmpty()
#从栈中删除顶部项
s.pop()

方式二:直接导包(下载)
from pythonds.basic.stack import Stack
python实现队列
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Queue:
def __init__(self):
self.items = []

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

def enqueue(self, item):
self.items.insert(0,item)

def dequeue(self):
return self.items.pop()

def size(self):
return len(self.items)
#入队
enqueue
#出队
dequeue
#查看队列大小
size
#查看是否为空
isEmpty