Realização da lista encadeada dinâmica da pilha

pilha de pacotes; 

/ ** 
 * @author Eightn0 
 * @create 2021-03-15 15:00 
 * Realizar pilha com lista vinculada dinâmica 
 * / 

/ * Declare nó * / 
class Node { 
    int data; 
    Node next; 

    public Node (int data ) { 
        this.data = data; 
        this.next = null; 
    } 
} 

/ * Use uma lista vinculada para implementar a pilha e métodos de design para 
empurrar, estalar e julgar se a pilha está vazia * / class StackByLink { 
    public Node front; // aponta para o final da pilha O ponteiro no final 
    public Node posterior; // Ponteiro para o topo da pilha 

    / * Determina se a pilha está vazia: isEmpty () * / 
    public boolean isEmpty () { 
        return front = = null; // Julgue se a pilha está vazia pelo ponteiro inferior Vazio 
    } 

    / * Imprime o conteúdo da pilha: output_of_stack * /  
    public void output_of_stack () {
        Node current = front; // Comece a partir do ponteiro inferior 
        while (current! = Null) {// A condição para pular do loop: a impressão está concluída 
            System.out.println ("[" + current.data + "] "); 
            current = current .next; // O ponteiro se move para baixo e o próximo é impresso 
        } 
        System.out.println (); // Para a estética 
    } 

    / * Na pilha - adicione dados no topo: insira * / 
    public void insert (int data) { 
        Node newNode = new Node (data); // 
        Carrega os dados a serem adicionados ao nó if (this.isEmpty ()) {// Se a pilha atual estiver vazia, então o topo e os ponteiros inferiores estão no novo nó 
            front = newNode; 
            rear = newNode; 
        } else {// A pilha atual não está vazia, em seguida, adicione o nó do topo, faça o ponto superior original para o novo nó e, em seguida, mova o ponteiro superior para o novo nó 
            rear.next = newNode; 
            rear = newNode; 
        } 
    }
 
    / * delete dados no topo: pop * / 
    public void pop () {
        Node newNode; 
        if (isEmpty ()) {// A pilha vazia não precisa excluir os dados 
            System.out.println ("Pilha atualmente vazia"); 
            return; 
        } 
        newNode = front; // Há apenas um dado na pilha 
        if (newNode = = rear) { 
                front = null; 
                rear = null; 
                System.out.println ("Pilha atualmente vazia"); // Se você excluí-la, ela ficará vazia 
        } else {// Situação mais geral 
            while ( newNode.next! = rear) { 
                newNode = newNode.next; 
            } 
            newNode.next = rear.next; 
            rear = newNode; 
        } 
    } 
}

Acho que você gosta

Origin blog.csdn.net/vivian233/article/details/114836280
Recomendado
Clasificación