明显的问题是它end
永远不会改变。 isEmpty()
将永远返回true
。现在,让我们看看您的insertFirst()
方法。
public void insertFirst(EltType first) {
if(!isEmpty()) {
EltType[] tempArray;
tempArray = (EltType[]) new Object[capacity+1];
for (int i=0;i<deque.length;i++) {
tempArray[i+1] = deque[i];
}
deque = tempArray;
}
deque[0] = first;
}
知道无论如何isEmpty()
都会返回true
,这段代码有什么问题?