问题是这样的
您的任务是实现一个可以与任何后备存储一起工作的堆。基本上,您需要将抽象下一步-例如,我们使用堆而不用担心后备存储,因为接口定义良好。因此,您需要为后备存储器设计一个接口,以便实现堆接口的方法可以在任何后备存储器上工作。您的代码应该是用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( the )方法,我就会收到一堆错误
发布于 2015-03-14 22:00:58
问题是正确理解这个问题,@Tom很好地解释了这个问题,如下所示
“您需要编写一个堆接口来定义客户端可以在堆实例上调用的所有方法。然后编写两个类来实现这个新接口,并使用数组(类1)或LinkedList (类2)版本。”
一旦我遵循了这一点,我就遇到了一些问题,我把这些问题添加到了我最初编辑的帖子中。事实证明,这是堆接口和数组实现的声明问题。
固定的声明
public interface HeapInterface<T>
public class ArrayHeap<T extends Comparable<T>> implements HeapInterface<T>谢谢你的帮助!
https://stackoverflow.com/questions/29048108
复制相似问题