【发布时间】:2018-07-27 15:56:46
【问题描述】:
我试图在我的双端队列上实现环绕,由于某种原因,我的 insertRight() 和 removeRight() 方法输出错误,而我的 removeLeft() 方法只是抛出了一个错误。我环顾四周,似乎无法找到为什么我的方法在这里不起作用的答案:
public void insertRight(int newItem) {
if (isFull() == true) {
System.out.print("Full");
} // end of if
else {
if (right == capacity) {
right = 0;
} // end of nested if
else {
deque[right] = newItem;
nElems++;
right++;
} // end of nested else
} // end of else
}// end of insertRight
public void removeRight() {
if (isEmpty() == true) {
System.out.println("Empty");
} // end of if
if (isEmpty() == false) {
System.out.println(right);
if (right == capacity) {
right = 0;
} // end of nested if
int temp = deque[right];
right++;
nElems--;
} // end of if
}// end of removeRight
public void removeLeft() {
if (isEmpty() == true) {
System.out.println("Empty");
} // end of if
if (isEmpty() == false) {
if (left == capacity) {
left = -1;
} // end of nested if
else {
System.out.println(left);
int temp = deque[left];
left++;
nElems--;
} // end of else
} // end of if
}// end of removeLeft
【问题讨论】: