Um das Zwischenelement des Stapels zu löschen, müssen Sie zunächst das Element über dem Zwischenelement entfernen. Nach dem Entfernen der Zwischenelemente müssen die obigen Elemente wiederhergestellt werden, um die ursprüngliche Reihenfolge aufrechtzuerhalten. Dieser Vorgang kann unter Verwendung einer rekursiven Methode implementiert werden, wie nachstehend beschrieben.
Aufgrund der Eigenschaften des Stapels können wir nur Stapel- und Stapelvorgänge oben auf dem Stapel durchführen, sodass wir die Zwischenelemente des Stapels nicht direkt löschen können.
Schritt 1: Bestimmen Sie die Position des Zwischenelements Erstens müssen Sie das Zwischenelement des Stapels bestimmen. Die Methode lautet wie folgt:
Schritt 2: entfernen Sie das Element rekursiv oben am Stapel, bis das Zwischenelement erreicht ist.
Schritt 3: Sobald das Zwischenelement erreicht ist, stecken Sie es einfach aus dem Stapel und setzen Sie den Stapel seiner ursprünglichen Reihenfolge wieder zusammen.
Das folgende Beispiel löscht das Zwischenelement des Stapels:
import java.util.Stack; public class Example { public static void deleteMidElement(Stack<Integer> stack, int currentIndex) { if (currentIndex == 0) { stack.pop(); return; } int temp = stack.pop(); deleteMidElement(stack, currentIndex - 1); stack.push(temp); } public static void main(String args[]) { Stack<Integer> stack = new Stack<>(); stack.push(9); stack.push(10); stack.push(0); stack.push(5); stack.push(7); int N = stack.size() / 2; System.out.println("删除中间元素之前的堆栈: " + stack); deleteMidElement(stack, N); System.out.println("删除中间元素之后的堆栈: " + stack); } }
Die Ausgabe des obigen Programms lautet wie folgt:
<code>删除中间元素之前的堆栈: [9, 10, 0, 5, 7] 删除中间元素之后的堆栈: [9, 10, 5, 7]</code>
In der Methode main
nennen wir die deleteMidElement()
-Methode, die Parameter sind der Index des Stapels und die Zwischenelemente.
In der Methode deleteMidElement()
prüfen wir, ob currentIndex
gleich 0 ist. Wenn die Oberseite des Stapels ein Zwischenelement ist. . deleteMidElement()
Das obige ist der detaillierte Inhalt vonLöschen Sie das mittlere Element eines Stapels in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!