问题是这个
您的任务是实现可以与任何后备存储一起使用的堆。基本上你需要将抽象降低一步 - 例如我们使用堆而不用担心后备存储只是因为界面定义得很好。因此,您需要为支持设计一个界面 存储,以便实现堆接口的方法适用于任何后备存储。您的代码应该用Java开发,它应该适用于扩展可比类的任何数据类型。在这部分中,您只需要担心两个后备存储;数组和链接结构。您还需要为两个后备存储提供实现。
我很难理解这里应该做些什么。我得到的是,无论后备存储类型(阵列/链表),接口都应该工作如何在没有特定后备存储的情况下实现接口?该接口应该包括添加和删除功能。希望有人能对这个问题有所了解。谢谢
EDIT 这是我的堆接口,
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)方法,我就会遇到一堆错误
答案 0 :(得分:0)
问题是正确地理解了这个问题,这个问题由@Tom精心解释如下
&#34;您需要编写一个Heap接口,该接口定义客户端可以在堆实例上调用的所有方法。然后编写两个实现这个新接口的类,并使用一个数组(类1)或一个LinkedList(类2)版本&#34;
一旦我跟着这个,我遇到了一些问题,我在EDIT下的第一篇文章中添加了这些问题。结果证明这是实现堆接口和数组实现的声明问题。
固定声明
public interface HeapInterface<T>
public class ArrayHeap<T extends Comparable<T>> implements HeapInterface<T>
感谢您的帮助!