Python数据结构与算法:第4-2课时:栈的实现
栈结构实现
栈 可以用顺序表实现,也可以用链表实现。
这里就用顺序表(序列)实现栈。
栈的操作
• Stack() 创建一个新的空栈
• push(item) 添加一个新的元素item到栈顶(压栈、入栈)
• pop() 弹出栈顶元素
• peek() 返回栈顶元素
• is_empty() 判断栈是否为空
• size() 返回栈的元素个数
以上这些实现,全部用列表的函数来实现。
实现代码:
class Stack(object):
def __init__(self):
self.__items = []
#生成一个新的列表
def is_empty(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)
if __name__ == '__main__':
stack = Stack()
stack.push("hello")
stack.push("world")
stack.push("itcast")
print(stack.size())
print(stack.peek())
print(stack.pop())
print(stack.pop())
print(stack.pop())