【发布时间】:2015-03-14 10:56:49
【问题描述】:
问题是这样的
您的任务是实现一个可与任何后备存储一起使用的堆。基本上,您需要将抽象降低一步——例如,我们使用堆而不用担心后备存储,仅仅是因为接口定义明确。所以需要为后台设计一个接口 存储,以便实现堆接口的方法适用于任何后备存储。您的代码应该用 Java 开发,并且它应该适用于扩展可比较类的任何数据类型。在这部分你只需要担心两个后备存储;数组和链接结构。您还需要为两个后备存储提供实现。
我很难理解究竟应该在这里做什么。我得到的是,无论后备存储类型(数组/链接列表)如何,接口都应该工作我如何在没有特定后备存储的情况下实现接口?该接口应该包括添加和删除功能。希望有人可以对这个问题有所了解。谢谢
编辑 这是我的堆接口,
public interface HeapInterface<T extends Comparable<T>>{
public boolean isEmpty();
public void add(T value);
public T remove();
public void show();
}
这是数组实现的声明
public class arrayHeap<T extends Comparable<T>> implements HeapInterface {
想知道声明是否有任何问题,因为一旦我在数组实现中实现 add(T value) 方法,我就会得到一堆错误
【问题讨论】:
-
你把问题解释错了! , 深呼吸,请再读一遍
-
我已经读了好几遍了,我不觉得有什么不同,你能解释一下吗?
-
您需要编写一个 Heap 接口,该接口定义了客户端可以在您的堆实例上调用的所有方法。然后编写两个实现这个新接口的类,并使用数组(类 1)或 LinkedList(类 2)版本。
-
哦,我明白了!谢谢,这很有帮助:) 一个小问题,什么是“扩展可比较类的数据类型”?
-
这堆问题伴随着一堆错误消息,指出问题所在和位置。你需要阅读它们。此外,按照惯例,类总是以大写字母开头。我认为你应该告诉你的老师,实现泛型集合是一项高级任务,如果你还没有学会正确拼写类或阅读错误消息,就不应该这样做。
标签: java heap implementation