栈
后进先出的有序集合,这种原则叫LIFO。
栈是有序的 LIFO 。栈操作如下:
栈的实现
在 Python 中,与任何面向对象编程语言一样,抽象数据类型(如栈)的选择的实现是创建一个新类。
栈操作实现为类的方法。此外,为了实现作为元素集合的栈,使用由 Python 提供的原语集合的能力是有意义的。 我们将使用列表作为底层实现。
列表的结尾将保存栈的顶部元素。列表的结尾将保存栈的顶部元素。
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)
pythonds 模块包含本书中讨论的所有数据结构的实现。它根据以下部分构造:基本数据类型,树和图。 该模块可以从 pythonworks.org下载。
1 from pythonds.basic.stack import Stack 2 3 s=Stack() 4 5 print(s.isEmpty()) 6 s.push(4) 7 s.push(‘dog‘) 8 print(s.peek()) 9 s.push(True) 10 print(s.size()) 11 print(s.isEmpty()) 12 s.push(8.4) 13 print(s.pop()) 14 print(s.pop()) 15 print(s.size())
队列
先进先出,FIFO
队列抽象数据类型由以下结构和操作定义。如上所述,队列被构造为在队尾添加项的有序集合,并且从队首移除。队列保持 FIFO 排序属性。 队列操作如下。
原文:https://www.cnblogs.com/pacino12134/p/10726322.html