1

我先把整个问题写下来。

环是具有对当前项的引用的项的集合。一个操作——我们称之为提前——将引用移动到集合中的下一个项目。当引用到达最后一项时,下一个前进操作会将引用移回第一项。环还具有获取当前项目、添加项目和删除项目的操作。添加项目和删除项目的详细信息由您决定。

设计一个 ADT(抽象数据类型)来表示一个对象环。通过说明其目的、描述其参数以及编写其标头的伪代码版本来指定每个操作。然后为环的方法编写一个 Java 接口。在您的代码中包含 javadoc 样式的注释。

那么是不是说 Ring 就像一个具有操作的类,可以通过使用 T = items 之类的引用变量来移动项目?每次调用 Advance 时都会更改 T 以表示不同的项目?类似于 UML 格式的东西....

ADT:环

+advance(): T // move T to next item in collection and if T reaches last item, move T back to the first item.

+getCurrItem(): T // return item that T reference.

+addItem(item T): void // add an item in for T, No return.

+removeItem(Item: T): boolean // remove item that T reference and return true | false if it succeed or not.

我是在正确的轨道上还是我应该做其他事情?

4

1 回答 1

2

这对我来说是一个好的开始。现在您必须设计 ADT 以及您将如何存储项目并从头到尾引用。这是一个数据抽象问题,您可以通过多种方式处理实现,但由您决定以有效的方式设计它。

于 2012-09-28T15:48:04.463 回答