1. 栈
栈:先进后出 。
实现的功能:入栈; 出栈; 取栈顶元素; 判断栈是否为空; 显示栈的元素。
class Stack:
def __init__(self):
self.stack =[]
def push(self,value):
"""
:param value: 入栈元素
:return:
"""
self.stack.append(value)
return True
def pop(self):
# 判断栈是否为空
if self.stack:
# 获取出栈元素 并返回
item = self.stack.pop()
return item
else:
return False
def top(self):
# 取栈顶元素
if self.stack:
return self.stack[-1]
else:
return False
def length(self):
return len(self.stack)
def view(self):
# 显示栈内每个元素
return ','.join(self.stack)
s = Stack()
s.push('1')
s.push('2')
s.push('3')
print(s.view())
item = s.pop()
print(item)
print(s.view())
输出结果:
1,2,3
3
1,2
2. 队列
队列:先进先出。
功能:入队;出队;取队尾元素;队列长度;显示队列元素。
class Stack:
def __init__(self):
self.stack = []
def push(self, value):
"""
:param value: 入队列元素
:return:
"""
self.stack.append(value)
return True
def pop(self):
# 判断队列是否为空
if self.stack:
# 获取出队列元素 并返回
item = self.stack.pop(0)
return item
else:
return False
def top(self):
# 取队列尾元素
if self.stack:
return self.stack[-1]
else:
return False
def length(self):
return len(self.stack)
def view(self):
# 显示队列内每个元素
return ','.join(self.stack)
s = Stack()
s.push('1')
s.push('2')
s.push('3')
print(s.view())
item = s.pop()
print(item)
print(s.view())
输出结果:
1,2,3
1
2,3