Python 使用列表模拟栈
栈有时也被称作“下推栈”。它是有序集合,添加操作和移除操作总发生在同一端,即“顶端”,另一端则被称为“底端”。栈中的元素离底端越近,代表其在栈中的时间越长,因此栈的底端具有非常重要的意义。最新添加的元素将被最先移除。这种排序原则被称作LIFO(last-in first-out),即后进先出。它提供了一种基于在集合中的时间来排序的方式。最近添加的元素靠近顶端,旧元素则靠近底端。
模拟战
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)
使用测试
infos = Stack() print(infos.isEmpty()) infos.push('令狐冲') infos.push('莫大') print(infos.peek()) infos.push('风清扬') infos.push('葵花宝典') infos.push('依琳') print(infos.peek()) infos.pop() print(infos.peek()) print(infos.size())