java将元素从bucket移动到LinkedList,但有一个元素被完全删除
我正在用Java为我的计算机科学实验室进行基数排序,但是我遇到了一个问题
在根据数字的值将所有元素放入bucket之后,我有了一个方法,可以将bucket中的所有元素移动到另一个链表中
出现的问题是,从bucket到链表的移动会导致缺少一个元素。
bucket是一个LinkedList数组,pass是一个链表。
另外,带有字符串参数的removeFirst
方法只是删除第一个元素并返回该节点。但是,这是一个重载方法,因此String s
的唯一目的是指向要使用的方法。它没有其他用途
String s = null;
for(int i = 0; i < bucket.length; i ++){
for (int k = 0; k< bucket[i].numOfNodes();k++){
Node temp = (bucket[i].removeFirst(s));
pass.addToEnd(temp);
temp = temp.getNext();
}
}
}
# 1 楼答案
因为您的tmp总是相同的,所以将此变量上移到循环后面