【发布时间】:2010-02-06 13:28:46
【问题描述】:
我正在帮助我儿子上大学编程课,我想我也需要这门课。他已经完成了任务,但我不相信他做得最好。不幸的是,我无法让它以更好的方式工作。它显然更好,因为它还没有工作。
他被要求为一个扩展另一个类的类实现一些方法。
他被告知他必须使用以下类定义,并且他不能更改 ListQueue 中的任何内容。
public class MyListQueue <AnyType extends Comparable<AnyType>> extends ListQueue<AnyType>
这是 ListQueue 中的内容
// Queue interface
//
// ******************PUBLIC OPERATIONS*********************
// void enqueue( x ) --> Insert x
// AnyType getFront( ) --> Return least recently inserted item
// AnyType dequeue( ) --> Return and remove least recent item
// boolean isEmpty( ) --> Return true if empty; else false
// void makeEmpty( ) --> Remove all items
// ******************ERRORS********************************
// getFront or dequeue on empty queue
/**
* Protocol for queues.
*/
好的,我对在 Pascal 或 C 中遍历链表感觉很好(显示我的年龄),但以前从未使用过 OOP 语言。
当我尝试这样的事情时
dummyQueue = this.front.next;
我收到以下错误。 * front 在 ListQueue 中具有私有访问权限 *
我同意,但除了使项目出队之外,我如何遍历列表,或者以其他方式访问 ListQueue 中的前、后、下一个和上一个。
教育将不胜感激。
谢谢, 大卫
【问题讨论】:
-
您已经列出了公共接口。受保护的界面有什么帮助吗?
-
你需要实现哪些新方法?
-
要求打印队列中的值。 displayQueue() 从队列中删除第一个匹配的值。 removeFromQueue(string) 将队列的内容复制到另一个队列中。 copyQueue(q2) 就是这样。真的很简单。感谢大家的帮助、cmets 和编辑。
-
有2个私有方法... private ListNode
front;私有 ListNode 返回;