Nombre[1]
Enviado por wawawawa • 2 de Septiembre de 2014 • 29.843 Palabras (120 Páginas) • 297 Visitas
mimport javax.swing.JOptionPane;
public class Pilas {
public static void main(String[] args) {
String text = JOptionPane.showInputDialog("Dame infijo :");
System.out.println("Prefijo : "+ Infijo2PrefijoTxt(text));
}
public static String Infijo2PrefijoTxt(String infijo){
Pila p1 = Infijo2Prefijo(infijo);
String text = "";
while (p1.i > 0)
text += p1.pop();
return text;
}
public static Pila Infijo2Prefijo(String infijo) {
infijo = '(' + infijo ; // Agregamos al final del infijo un ')'
int tamaño = infijo.length();
Pila PilaDefinitiva = new Pila(tamaño);
Pila PilaTemp = new Pila(tamaño);
PilaTemp.push(')'); // Agregamos a la pila temporal un '('
for (int i = tamaño-1; i > -1; i--) {
char caracter = infijo.charAt(i);
switch (caracter) {
case ')':
PilaTemp.push(caracter);
break;
case '+':case '-':case '^':case '*':case '/':
while (Jerarquia(caracter) > Jerarquia(PilaTemp.nextPop()))
PilaDefinitiva.push(PilaTemp.pop());
PilaTemp.push(caracter);
break;
case '(':
while (PilaTemp.nextPop() != ')')
PilaDefinitiva.push(PilaTemp.pop());
PilaTemp.pop();
break;
default:
PilaDefinitiva.push(caracter);
}
}
return PilaDefinitiva;
}
public static int Jerarquia(char elemento) {
int res = 0;
switch (elemento) {
case ')':
res = 5; break;
case '^':
res = 4; break;
case '*': case '/':
res = 3; break;
case '+': case '-':
res = 2; break;
case '(':
res = 1; break;
}
return res;
}
}import javax.swing.JOptionPane;
public class Pilas {
public static void main(String[] args) {
String text = JOptionPane.showInputDialog("Dame infijo :");
System.out.println("Prefijo : "+ Infijo2PrefijoTxt(text));
}
public static String Infijo2PrefijoTxt(String infijo){
Pila p1 = Infijo2Prefijo(infijo);
String text = "";
while (p1.i > 0)
text += p1.pop();
return text;
}
public static Pila Infijo2Prefijo(String infijo) {
infijo = '(' + infijo ; // Agregamos al final del infijo un ')'
int tamaño = infijo.length();
Pila PilaDefinitiva = new Pila(tamaño);
Pila PilaTemp = new Pila(tamaño);
PilaTemp.push(')'); // Agregamos a la pila temporal un '('
for (int i = tamaño-1; i > -1; i--) {
char caracter = infijo.charAt(i);
switch (caracter) {
case ')':
PilaTemp.push(caracter);
break;
case '+':case '-':case '^':case '*':case '/':
while (Jerarquia(caracter) > Jerarquia(PilaTemp.nextPop()))
PilaDefinitiva.push(PilaTemp.pop());
PilaTemp.push(caracter);
break;
case '(':
while (PilaTemp.nextPop() != ')')
PilaDefinitiva.push(PilaTemp.pop());
PilaTemp.pop();
break;
default:
PilaDefinitiva.push(caracter);
}
}
return PilaDefinitiva;
}
public static int Jerarquia(char elemento) {
int res = 0;
switch (elemento) {
case ')':
res = 5; break;
case '^':
res = 4; break;
case '*': case '/':
res = 3; break;
case '+': case '-':
res = 2; break;
case '(':
res = 1; break;
}
return res;
}
}import javax.swing.JOptionPane;
public class Pilas {
public static void main(String[] args) {
String text = JOptionPane.showInputDialog("Dame infijo :");
System.out.println("Prefijo : "+ Infijo2PrefijoTxt(text));
}
public static String Infijo2PrefijoTxt(String infijo){
Pila p1 = Infijo2Prefijo(infijo);
String text = "";
while (p1.i > 0)
text += p1.pop();
return text;
}
public static Pila Infijo2Prefijo(String infijo) {
infijo = '(' + infijo ; // Agregamos al final del infijo un ')'
int tamaño = infijo.length();
Pila PilaDefinitiva = new Pila(tamaño);
Pila PilaTemp = new Pila(tamaño);
PilaTemp.push(')'); // Agregamos a la pila temporal un '('
for (int i = tamaño-1; i > -1; i--) {
char caracter = infijo.charAt(i);
switch (caracter) {
case ')':
PilaTemp.push(caracter);
break;
case '+':case '-':case '^':case '*':case '/':
while (Jerarquia(caracter) > Jerarquia(PilaTemp.nextPop()))
...