Criei uma classe para as pilhas e uma para o main
nao sei se fiz certo gostaria de uma ajuda vlw
nao sei se fiz certo gostaria de uma ajuda vlw
- Código:
/*3- Crie um programa em C, que utilize a struct abaixo, o programa deve
realizar as operações básicas de uma pilha. INIT ,empilhar (push), desempilhar (pop),
mostrar o topo(top); pull: altera o elememto posicionado no topo da pilha; verificar se a pilha está vazia
(isEmpty); verificar se a pilha está cheia (isFull - implementação sequencial - vetor).
*/
package aula005pilha;
import java.util.Scanner;
/**
*
* @author regis
*/
public class Pilha {
int[]vetor = new int[10]; //criei um vetor de tamanho 10
int topo;
Scanner tc = new Scanner(System.in);
public void inicializar (){ // vai inicializar a pilha
this.topo =-1;
}
public void Push(){ // vou insirir o valor no topo
this.topo++; // aqui o topo vai de -1 e ir para 0
this.vetor[this.topo]=tc.nextInt(); // o vetor de tmanho 10 setado na primeira posição recebe o valor de TC (digitado pelo usuario )
}
public void Pop(){ // aqui ele vai retirar o valor de cima do topo
this.topo--;
}
public void top (){ //aqui ele vai mostrar o topo da pilha
if (isEmpty()){
System.out.println("Lista ta vazia");
}else
System.out.println(this.vetor[this.topo]);
}
public boolean isEmpty(){ // aqui ele vai dizer se a pilha esta vazia
if(this.topo==-1){
return true;
}
else
return false;
}
public void isFull (){ // ai dizer se apilha esta cheia
if(this.topo == 10)
System.out.println("Esta cheio");
else
isEmpty();
}
public void pull(int valor){// pull vai subistitur o valor do topo,
System.out.println("Informe um valor");
this.vetor[this.topo]=valor;
}
}
- Código:
package aula005pilha;
import java.util.Scanner;
/**
*
* @author regis
*/
public class Testar {
Scanner tc = new Scanner(System.in); // to declarando a variavel TC para receber dados do teclado
Pilha p = new Pilha();
public static void main(String[] args){
int op = 0;
//do{
System.out.println("1-Para inicializar");
System.out.println("2-Ensirir valor no topo");
System.out.println("3-Retirar valor do topo");
System.out.println("4-Mostrar topo da pilha");
System.out.println("5-Para ver se pilha esta vazia");
System.out.println("6-Para ver se pilha esta cheia");
System.out.println("7-Para substituir o valor do topo");
System.out.println("0-Para sair");
op = tc.nextInt ();
// }while(op!=0);
switch(op){
case 1:
p.inicializar();
break;
case 2:
p.Push();
break;
case 3:
p.Pop();
break;
case 4:
p.top();
break;
case 5:
p.isEmpty();
break:
case 6:
p.isFull();
break;
case 7:
p.pull();
break;
}
}