Estructura de datos: palindromo en java
un ejemplo de pilas en java
import java.io.*;
class Palindromo{
public static void main(String args[])throws IOException{
Pila pilaChar;
char ch;
boolean esPal;
String pal;
BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));
try{
pilaChar=new Pila();//crea pila vacia
System.out.println("Teclea la palabra"+" a vereficar si es palindromo:");
System.out.flush();
pal=entrada.readLine();
//se crea la pila con los caracteres de la palabra
pilaChar=new Pila();
for(int i=0; i<pal.length();)
pilaChar.insertar(pal.charAt(i++));
//se comprueba si es palindromo
esPal=true;
for(int j=0;esPal&& !pilaChar.pilaVacia();)
{
esPal=pal.charAt(j++)==pilaChar.quitar();
}
pilaChar.limpiarPila();
if(esPal)
System.out.println("La palabra "+pal+" es un palindromo \n");
else
System.out.println("la palabra "+pal+" no es un palindromo \n");
}
catch(Exception er)
{
System.out.println("Exception;"+er);
}
}
}
import java.io.*;
class Pila{//creando la clase pila
private static final int TAMPILA=79;
//private char elemento;//se agrego este codigo para
private int cima;
private char []listaPila;
//constructor de la clase pila
public Pila()
{
cima=-1;
listaPila=new char[TAMPILA];
}
public void insertar(char elemento) throws Exception
{
if(pilaLlena())
{
throw new Exception("Desbordamiento de pila");
}
cima++;
listaPila[cima]=elemento;
}
public char quitar()throws Exception
{
char aux;
if(pilaVacia())
{
throw new Exception("pila vacia, no se puede exceder");
}
aux=listaPila[cima];
cima--;
return aux;
}
public boolean pilaVacia()
{
return cima==-1;
}
public boolean pilaLlena()
{
return cima==TAMPILA-1;
}
public void limpiarPila()
{
cima=-1;
}
}

Comentarios recientes