Gosstaria de saber qual o conceito de pilha em java.
Alguem pode me ajudar.
Pilha
10 Respostas
Bom tenta ser mais especifica, vc tah se referindo a estrutura de dados pilha (se for vc pode usar uma classe chamada Stack para implementar e o conceito é o mesmo, lembra do push e pop, então!) ou a pilha da JVM onde são empilhados os métodos e as variáveis ? :roll: :x
eh a estrutrura de dados pilha,
Bom em uma estrutura de dados do tipo pilha os primeiros elementos a entrarem (serem incluidos no conjunto) são os ultimos a sairem, funciona como uma pilha de pratos mesmo, imagine vc empilhando pratos em cima da mesa os primeiros que vc colocar obviamente quando vc for retirar serão os ultimos (obedecendo a regra que somente os elementos do topo devem ser retirados). Eh Eliz eu acho que sucintamente é isso, sabe não é o conceito ao pé da letra mas deve ajudar. Caso ainda não tenha entendido de uma “googlada” (procure no google) que com certeza vc vai encontrar coisas muito interessantes e mais esclarecedoras.
dah uma olhada aqui:
http://www.webinformation.hpg.ig.com.br/prog_pilha.htm
Tive que criar uma classe simples de pilha para um trabalho de Estrutura de Dados
Segue a mesma:
public class Pilha
{
int apontador;
int[] p ;
//Construtor padrão (caso não receba parametros)
public Pilha()
{
p = new int[50];
}
//Construtor caso receba um inteiro
public Pilha(int val)
{
p = new int[val];
}
//Metodos
public void init()
{
apontador = 0;
}
public void push(int elem)
{
p[apontador]=elem;
apontador++;
}
public int top()
{
return p[apontador-1];
}
public int pop()
{
if(!(isEmpty()))
{
apontador--;
return p[apontador];
}else return 0;
}
public boolean isEmpty()
{
if (apontador==0)
return true;
else
return false;
}
}
zandrinha, colocando dever de casa no fórum da comunidade???
:shock:
Tem uma apostia no fim da página:
vlw pessoal, 
num tem nada a ver com pilha, mas minha dúvida é a seguinte no VB seria muito mais rápido se eu fizesse o metodo q o Kabald fez da seguinte forma (já em java é claro)
public boolean isEmpty()
{
return apontador==0;
}
Isso se aplica ao Java?
Tive que criar uma classe simples de pilha para um trabalho de Estrutura de Dados Segue a mesma:public class Pilha { int apontador; int[] p ; //Construtor padrão (caso não receba parametros) public Pilha() { p = new int[50]; } //Construtor caso receba um inteiro public Pilha(int val) { p = new int[val]; } //Metodos public void init() { apontador = 0; } public void push(int elem) { p[apontador]=elem; apontador++; } public int top() { return p[apontador-1]; } public int pop() { if(!(isEmpty())) { apontador--; return p[apontador]; }else return 0; } public boolean isEmpty() { if (apontador==0) return true; else return false; } }
[]s Josemar
num tem nada a ver com pilha, mas minha dúvida é a seguinte no VB seria muito mais rápido se eu fizesse o metodo q o Kabald fez da seguinte forma (já em java é claro)public boolean isEmpty() { return apontador==0; }Isso se aplica ao Java?
Sim sim, mas como tive que apresentar para a turma achei que com if seria mais facil de explicar. Mas isso pode ser feito assim mesmo.
valeu! é q apesar de boa experiencia em VB sou novato total em Java.