Heim > Java > javaLernprogramm > Löschen Sie das mittlere Element eines Stapels in Java

Löschen Sie das mittlere Element eines Stapels in Java

DDD
Freigeben: 2025-02-07 11:14:11
Original
335 Leute haben es durchsucht

Delete middle element of a stack in Java

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 zum Löschen des mittleren Elements des Stapels

Schritt 1: Bestimmen Sie die Position des Zwischenelements Erstens müssen Sie das Zwischenelement des Stapels bestimmen. Die Methode lautet wie folgt:

  • Wenn der Stapel 9 Elemente (Indizes 0 bis 8) enthält, befindet sich das Zwischenelement an Position 4.
  • Wenn der Stapel eine gleiche Anzahl von Elementen (z. B. 4 Elemente) enthält, löschen Sie die erste der beiden Zwischenelemente.
  • Wenn der Stapel nur ein Element enthält, wird das Element als Zwischenelement behandelt und gelöscht.

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.

Programm

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);
    }
}
Nach dem Login kopieren

Die Ausgabe des obigen Programms lautet wie folgt:

<code>删除中间元素之前的堆栈: [9, 10, 0, 5, 7]
删除中间元素之后的堆栈: [9, 10, 5, 7]</code>
Nach dem Login kopieren

Erläuterung

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!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage