Implementação da cadeia:
Adicione e exclua elementos em uma seção da pilha, mantenha um nó na parte superior da pilha na pilha e o tamanho de um indicador variável de contagem:
Top linearnode privado; // aponte para o topo da pilha
Private int contagem;
Top ---> Elemento 1 ----> Elemento 2 ---> Elemento 3 .........
Implementação (com o teste principal):
LinkedStack
Pilha de embalagem; topo da pilha; 10; (); IS: " + Stack.top.getElement ()); System.out.println (" O elemento superior da pilha é: " + Stack.peek ()); public int size () {Return Count;} public boolean isEmpty () {Return (size () == 0);} public void push (elemento do objeto) {linearNode Node = new Lin Earnode (elemento); Pop () {if (isEmpty ()) {System.out.println ("pilha está vazia!"); Count-; Resultado de Retorno;} Public Object Peek () {Resultado do objeto = TOP.GETELEMENT ();
Execute os resultados:
A pilha 0 a 10 continua a pilha da pilha por 5 vezes consecutiva? : False
O tamanho da pilha é: 5
O elemento superior da pilha é: 4
O elemento superior da pilha é: 4
Implementação da matriz:
A parte inferior da pilha é sempre a posição de 0 na matriz.
Objeto privado [] Conteúdo; Interseção Interseção
Implementação (com o teste principal):
ArrayStack
Pilha de pacote; Interseção Interseção Private estático int size = 10; índice int = 0; 0);} public void push (elemento do objeto) {// if (isEmpty ()) // expandir (); } Public objeto pop () {if (isEmpty ()) {System.out.println ("Pilha está vazia!"); a pilha superior; Resultado; Pressione 0 a 24, depois fora da pilha por 10 vezes consecutivas "); para (int i = 0; i <25; i ++) Stack.push (i); para (int i = 0; i <10; I ++) PACK.POP (); : " + Stack.isempty ()); System.out.println (" O elemento superior da pilha é: " + Stack.peek ());}
Execute os resultados:
Pressione 0 a 24 e, em seguida, o tamanho da pilha 10 vezes seguidas: 15
A pilha está vazia? : False
O elemento superior da pilha é: 14
Use set LinkedList para simular a pilha
método
Os genéricos da Java permitem que o LinkedList simule pilhas de armazenamento de vários tipos de dados, incluindo int, dupla, string, objeto, etc., introduzir várias interfaces de API usadas:
Digite a pilha
void addfirst (e e);
Obtenha o elemento superior da pilha
E getfirst ();
Fora da pilha
E removefirst ();
Prejudicar
boolean isEmpty ();
Por exemplo, código
Importar java.util.LinkedList; int data) {this.stack.addfirst (data);} public int pop () lança nosuchElementEdException {return this.stack.removefirst ();} public in t gettop () lança nosuchElementException {return this.stack.getFirst (); } Public static void main (string args []) {simulatingstack s = novo simulatestack (); .out.println (dados);