算法(4th ed)(115):基础——背包、队列和栈 5.1

阅读数:31 2019 年 11 月 2 日 12:27

算法(4th ed)(115):基础——背包、队列和栈 5.1

(API)

照例,我们对集合型的抽象数据类型的讨论从定义它们的 API 开始,如表 1.3.1 所示。每份 API 都含有一个无参数的构造函数、一个向集合中添加单个元素的方法、一个测试集合是否为空的方法和一个返回集合大小的方法。StackQueue 都含有一个能够删除集合中的特定元素的方法。除了这些基本内容之外,我们将在以下几节中解释这几份 API 反映出的两种 Java 特性:泛型迭代

表 1.3.1 泛型可迭代的基础集合数据类型的 API

背包
public class Bag<Item> implements Iterable<Item>
             Bag()创建一个空背包
       void  add(Item item)添加一个元素
    boolean  isEmpty()背包是否为空
        int  size()背包中的元素数量
先进先出(FIFO)队列
public class Queue<Item> implements Iterable<Item>
             Queue()创建空队列
       void  enqueue(Item item)添加一个元素
       Item  dequeue()删除最早添加的元素
    boolean  isEmpty()队列是否为空
        int  size()- 队列中的元素数量
下压(后进先出,LIFO)栈
public class Stack<Item> implements Iterable<Item>
             Stack()创建一个空栈
       void  push(Item item)添加一个元素
       Item  pop()删除最近添加的元素
    boolean  isEmpty()栈是否为空
        int  size()栈中的元素数量

评论

发布