0

是否有人参考了 Java 中 Queue 类的 enterQueue() 和 leaveQueue() 的示例?我正在尝试做一个作业来演示 enterQueue() 和 leaveQueue() 的操作,但我似乎在 API 中找不到任何东西。我已经做了 Peek、Poll 和 size。该代码附在此处,即使我认为它并不真正相关。

Stack st = new Stack();
       Queue<String> q = new LinkedList<String>();
       String element;

       st.push("A");
       st.push("B");

       System.out.println("\fInitial Stack contents: "+st);

       q.addAll(st);
       st.clear();

       Iterator itr = q.iterator();

       System.out.println("\nInitial Queue size: "+q.size());
       System.out.println("It contains "+q+" while the stack is now "+st+"\n");

       while(itr.hasNext()) {
           String iteratorValue = (String)itr.next();
           System.out.println("Next in queue: "+iteratorValue);
        }

       //Peek : Look at value, don't remove it
       System.out.println("\nQueue Peek: "+q.peek());

       // Poll : Remove first value from queue
       element = q.poll();
       System.out.println("\nQueue Poll: "+element);

       System.out.println("\nQueue Size now: "+q.size());
       System.out.println("Queue remainder: "+q);
4

3 回答 3

0

enterQueue这是什么方法?
Java 实现 ADT 队列并为方法使用特定名称。
IfenterQueue是不相关的插入队列的名称。
队列具有特定功能 FIFO,并且没有强制要求在实现中使用特定名称,但通常我们将add /remove队列push/pop用于Stack

于 2013-03-27T21:49:46.527 回答
0

根据您对要实施的方法的陈述,您确定您的讲师不希望您为队列创建添加/删除函数而不使用库中提供的函数吗?至少这对我来说是这样的,因为我也没有听说过这些方法。考虑到您的程序名称是 MyQueue.java 听起来您要创建它而不是从库中使用它。

于 2013-03-27T21:57:49.247 回答
0

这与 Athabasca 大学的 COMP268 Java 入门课程中的练习相同——如果这是来源,那么最好的答案是“询问你的导师,或者在检查问题是否已经发布后在 Moodle 课程论坛中发布问题在那里问和回答。”

这就是你的导师得到报酬的事情,以及 Moodle 论坛的用途,并且不适合替换 stackoverflow 论坛,因为那时你的导师不知道你有问题,你的同学也不知道问题有而是在这里被问到,并且无法从此处发布的答案中受益。此外,还有“借用”此处或其他在线论坛上发布的代码的诱惑,忘记这不是练习的目的——并且可能会因作弊而受到严厉惩罚。

你的导师也知道这些在线论坛......

于 2013-10-24T23:00:26.193 回答