Ich frage mich, ob das Aufrufen des pop()
-Verfahrens aus der Stack
Datenstruktur innerhalb einer if-Anweisung das erste Element aus dem Stack herausspringt? Hierstack.pop() innerhalb der if-Anweisung
ist ein Beispiel für den Code ein:
public void pop() {
if(stack.pop() == min) min=stack.pop();
}
Wird diese Arbeit? Oder ist es besser, es so zu deklarieren:
public void pop() {
int poppedOff = stack.pop();
if(poppedOff == min) min=stack.pop();
}
Ich gehe davon aus, dass diese die gleichen Dinge tun, aber ich bin mir nicht ganz sicher.
Wenn Sie nicht beweisen können, dass, wenn 'min' an der Spitze des Stapels steht, *** *** immer ein anderes Element auf dem Stapel sein wird, riskieren Sie eine' EmptyStackException'. –