- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写自己的队列类。我的入队方法只是将一个对象入队,然后如果我尝试将其他任何东西入队,它几乎就像忽略它一样。这是我的代码:
public class myQueue {
private Node front;
private Node back;
private int s;
public myQueue() {
front = null;
back = null;
s = 0;
}
public void enqueue(Object x) {
if( isEmpty() )
back = front = new Node(x);
else
back = back.next = new Node(x);
s++;
}
public Object dequeue() {
Object x;
if( isEmpty() ) { System.out.println("nothing to dequeue.\nqueue empty."); }
x = front.data;
s--;
return x;
}
public boolean isEmpty() {
if(s == 0)
return true;
else
return false;
}
public void printQueue() {
if ( isEmpty() )
System.out.println("empty queue");
else {
Node temp = back;
while(temp != null) {
System.out.println(temp);
temp = temp.next;
}
}
}
}
这是我尝试将一些对象入队的主要方法:
public static void main(String[] args) {
int a = 5;
String b = "yo";
Object c = 5.5;
int d = 2;
String e = "Pen";
Object f = 9.2;
myQueue q = new myQueue();
q.enqueue(a);
q.enqueue(b);
q.enqueue(c);
q.enqueue(d);
q.enqueue(e);
q.enqueue(f);
System.out.println("\n");
q.printQueue();
}
然后我得到的输出是:
data: 9.2
关于为什么会发生这种情况有什么想法吗?
最佳答案
当你打印的时候,你是从队列的后面开始的,你应该从前面开始:
Node temp = front; // <<< replacing back by front
while(temp != null) {
System.out.println(temp);
temp = temp.next;
}
如果你从队列的最后面开始,你将只有队列的最后一个元素被打印...
我的修复结果:
data : 5
data : yo
data : 5.5
data : 2
data : Pen
data : 9.2
关于java - 队列实现,入队方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15015516/
这似乎是一个非常基本的问题,但我已经被困了几个小时。 我们什么时候使用 enqueue/dequeue 方法,什么时候使用 offer/poll?! 我想用 void enqueue(int x, i
我正在制作一款格斗游戏,我正在尝试保留玩家输入的 Action 队列。出于某种原因,我无法将我的字符串添加到队列中。 moverecorder.Enqueue(instructions); "inst
我想公开一个公共(public) RESTful API,并配置我们的 ActiveMQ 实例(可能)来监听该 API 并自动将这些 API 调用的 JSON 或 XML 版本排入队列,或者配置/编写
当我调用我的 API 之一时,onRespone 方法返回空 response.body()。我以前多次遵循这种方式并且它有效,但在这种情况下不起作用。此 api 也适用于浏览器。 我检查了所有的东西
我希望实现 Queue类型 Dictionary并能够迭代/入队/出队。 最终需要的是 queue的 int , string ,无论采取何种伪装。 到目前为止,我有类似的东西: private
错误是什么意思? { [Error: Cannot enqueue Query after fatal error.] code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERRO
上面发生了什么: 从接收到的用户数据数组初始化 Realm 模型。 在后台线程的 Realm 数据库中一次写入所有模型。 如果 Realm 模型已通过创建副本存在,则会对其进行更新。 任何人都可以在这
我是一名优秀的程序员,十分优秀!