下面是用Python实现一个栈类的封装:
encoding:utf-8
author = 'zhoupao'
date = '2018/7/8 23:01'
'''
Stack()创建一个新的空栈
push(item)添加一个新的元素item到栈顶
pop()弹出栈顶元素
peek()返回栈顶元素
is_empty()判断栈是否为空
size()返回栈的元素
'''
class Stack(object):
def __init__(self):
self.__items=[]
# 压栈
def push(self,item):
#向空列表添加元素
self.__items.append(item)
#弹出栈顶元素
def pop(self):
return self.__items.pop()
#返回栈顶元素
def peek(self):
# 从栈底弹出元素 所以有返回值
if self.__items:
return self.__items[-1]
#是否为空
def is_empty(self):
return self.__items == []
# 或者
# return not self.__items
#栈的长度
def size(self):
返回长度
return len(self.__items)
class stack(object):
def init(self):
self.item=[]
#入栈
def append(self,item):
return self.item.append(item)
def pop(self):
return self.item.pop()
def peek(self):
if self.item:
return self.item[-1]
if name == 'main':
stack=Stack()
stack.push(1)
stack.push(2)
stack.push(3)
stack.push(4)
# print(stack.pop())
# print(stack.pop())
# print(stack.pop())
# # print(stack.pop())
# print(stack.peek())
# print(stack.peek())
# print(stack.peek())
# print(stack.peek())
print(stack.size())
网友评论