Python实现栈和队列

本文主要用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
"""
以列表的形式简单实现栈
栈:先进后出
"""
class Stack:
def __init__(self):
self.stack = [] # 初始化

def is_empty(self):
return not bool(self.stack) # 判空

def push(self, value):
self.stack.append(value) # 入栈
return True

def pop(self):
if self.stack:
return self.stack.pop() # 出栈
else:
raise LookupError('stack is empty!')

def peek(self):
if self.stack:
return self.stack[-1] # 获取栈顶元素
else:
raise LookupError('stack is empty')

def length(self):
return len(self.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
24
25
26
27
"""
以列表的形式简单实现队列
队列:先进先出
"""
class Queue:
def __init__(self):
self.queue = []

def is_empty(self):
return not bool(self.queue)

def enqueue(self, items):
self.queue.append(items)
return True

def dequeue(self):
if self.is_empty():
raise LookupError('queue is empty!')
return self.queue.pop(0)

def length(self):
return len(self.queue)

def show(self):
if self.is_empty():
raise LookupError('queue is empty!')
return self.queue
------ 本文结束------
bluesliuf wechat
坚持技术分享,欢迎大家扫码交流!