SlideShare una empresa de Scribd logo
1 de 8
2008UNIVERSIDAD CÉSAR VALLEJOFACULTAD DE INGENIERÍAESCUELA DE SISTEMASNOTACIÓN POSTFIJA E INFIJANOMBRE: Contreras Ulloa, Shirley Asunción.CICLO: III-ADOCENTE: Ing. Oscar Alcántara MorenoCURSO: Estructura de Datos<br />NOTACIÓN POSTFIJA E INFIJA<br />class nodo<br />{<br />private char caracter;<br />private nodo enlace;<br />private nodo(char x)<br />{<br />caracter=x;<br />enlace=null;<br />}<br />//constructor<br />public nodo(char x, nodo enlc)<br />{<br />caracter=x;<br />enlace=enlc;<br />}<br />public void asigna_enlace(nodo enlc)<br />{<br />enlace=enlc;<br />}<br />public void asigna_caracter(char x)<br />{<br />caracter=x;<br />}<br />public char retorna_caracter()<br />{<br />return caracter;<br />}<br />public nodo retorna_enlace()<br />{<br />return enlace;<br />}<br />public void mostrar_nodo()<br />{<br />System.out.println(caracter+quot;
 quot;
);<br />//System.out.println(quot;
El enlace es: quot;
+enlace);<br />}<br />}<br />class cola<br />{<br />private nodo primero;<br />//constructor<br />public cola()<br />{<br />primero=null;<br />}<br />public boolean vacia()<br />{<br />if(primero==null)<br />return true;<br />else<br />return false;<br />}<br />public void insertar_cola(char x)//este tipo de insertar es el mismo <br />{<br />nodo nuevo =new nodo(x, null);    //que el de una lista enlazada insertar al final<br />if(primero==null)<br />primero=nuevo;<br />    else<br />    {<br />nodo ultimo=primero;<br />while(ultimo.retorna_enlace()!=null)<br />{<br />   ultimo=ultimo.retorna_enlace();<br />}<br />ultimo.asigna_enlace(nuevo);<br />}<br />}<br />public void eliminar_primero()<br />{<br />if(primero!=null)<br />primero=primero.retorna_enlace();<br />}<br />public char retorna_primero()<br />{<br />return primero.retorna_caracter();<br />}<br />public void mostrar_cola()<br />{<br />nodo aqui=primero;<br />System.out.println(quot;
La cola es: quot;
);<br />while(aqui!=null)<br />{<br />aqui.mostrar_nodo();<br />aqui=aqui.retorna_enlace();<br />}<br />System.out.println(quot;
Se mostro la colaquot;
);<br />}<br />}<br />class pila<br />{<br />private nodo cima;<br />//constructor<br />public pila()<br />{<br />cima=null;<br />}<br />public boolean vacia()<br />{<br />if(cima==null)<br />return true;<br />else<br />return false;<br />}<br />public void insertar_cima(char x)//este tipo de insertar es el mismo <br />{<br />nodo nuevo=new nodo(x, cima);<br />cima=nuevo;<br />}<br />public char retorna_cima() <br />{<br />return cima.retorna_caracter();<br />}<br />public void eliminar_cima()<br />{<br />if(cima!=null)<br />{<br />cima=cima.retorna_enlace();<br />}<br />}<br />public void mostrar_pila()<br />{<br />nodo aqui=cima;<br />System.out.println(quot;
Los nodos de la pilaquot;
);<br />while(aqui!=null)<br />{<br />aqui.mostrar_nodo();<br />aqui=aqui.retorna_enlace();<br />}<br />System.out.println(quot;
Se mostraron todos los nodos de la pilaquot;
);<br />}<br />}<br />class nodo2<br />{<br />private double caracter;<br />private nodo2 enlace;<br />private nodo2(double x)<br />{<br />caracter=x;<br />enlace=null;<br />}<br />//constructor<br />public nodo2(double x, nodo2 enlc)<br />{<br />caracter=x;<br />enlace=enlc;<br />}<br />public void asigna_enlace(nodo2 enlc)<br />{<br />enlace=enlc;<br />}<br />public void asigna_caracter(double x)<br />{<br />caracter=x;<br />}<br />public double retorna_caracter()<br />{<br />return caracter;<br />}<br />public nodo2 retorna_enlace()<br />{<br />return enlace;<br />}<br />public void mostrar_nodo()<br />{<br />System.out.println(caracter+quot;
 quot;
);<br />//System.out.println(quot;
El enlace es: quot;
+enlace);<br />}<br />}<br />class pila2<br />{<br />private nodo2 cima;<br />//constructor<br />public pila2()<br />{<br />cima=null;<br />}<br />public boolean vacia()<br />{<br />if(cima==null)<br />return true;<br />else<br />return false;<br />}<br />public void insertar_cima(double x)//este tipo de insertar es el mismo <br />{<br />nodo2 nuevo=new nodo2(x, cima);<br />cima=nuevo;<br />}<br />public double retorna_cima() <br />{<br />return cima.retorna_caracter();<br />}<br />public void eliminar_cima()<br />{<br />if(cima!=null)<br />{<br />cima=cima.retorna_enlace();<br />}<br />}<br />public void mostrar_pila()<br />{<br />nodo2 aqui=cima;<br />System.out.println(quot;
Los nodos de la pilaquot;
);<br />while(aqui!=null)<br />{<br />aqui.mostrar_nodo();<br />aqui=aqui.retorna_enlace();<br />}<br />System.out.println(quot;
Se mostraron todos los nodos de la pilaquot;
);<br />}<br />}<br />import java.io.*;<br />class aplicacion<br />{<br />public static void main (String [] args)<br />{<br />BufferedReader entra =new BufferedReader(new InputStreamReader(System.in));<br />pila pilita = new pila();<br />cola colita = new cola();<br />char caracter='';<br />int pp=0, pe=0;<br />String exp_infija=quot;
quot;
;<br />try<br />{<br />System.out.println(quot;
La expresión Infija es: quot;
);<br />exp_infija=entra.readLine();<br />for(int i=0; i<exp_infija.length(); i++)<br />{<br />caracter=exp_infija.charAt(i);<br />switch(caracter)<br />{<br />case '+': <br />case '-': <br />case '*': <br />case '/': <br />case '^':<br />if(pilita.vacia())<br />{<br />pilita.insertar_cima(caracter);<br />}<br />else<br />{<br />pe=prioridad(caracter);<br />pp=prioridad(pilita.retorna_cima());<br />if(pe>pp)<br />pilita.insertar_cima(caracter);<br />else<br />{<br />while(!pilita.vacia() &&(pe<=pp))<br />{<br /> colita.insertar_cola(pilita.retorna_cima());<br /> pilita.eliminar_cima();<br /> if(!pilita.vacia())<br /> {<br /> pp=prioridad(pilita.retorna_cima());<br /> }<br />}<br />pilita.insertar_cima(caracter);<br />}<br />}<br />break;<br />case '(':<br />pilita.insertar_cima(caracter);<br />break;<br />case ')':<br />while(pilita.retorna_cima()!='(')<br />{<br />colita.insertar_cola(pilita.retorna_cima());<br />pilita.eliminar_cima();<br />}<br />pilita.eliminar_cima();<br />break;<br />default:<br />colita.insertar_cola(caracter);<br />}<br />}<br />while(!pilita.vacia())<br />{<br /> colita.insertar_cola(pilita.retorna_cima());<br /> pilita.eliminar_cima();<br />}<br />System.out.println(quot;
La Expresion postfija es: quot;
);<br />colita.mostrar_cola();<br />//Inicia la operaciones para encontrar el resultado<br />double opn1,opn2,r,num_ca,res;// donde r es resultado preliminar, num_ca es el numero que da del codigo asqui<br /> pila2 p = new pila2();<br /> while(!colita.vacia())<br />{<br /> caracter=colita.retorna_primero();<br />             colita.eliminar_primero();<br /> switch(caracter)<br /> {<br /> case '+': <br /> case '-':<br /> case '*':<br /> case '/': <br /> case '^':<br />  opn2=p.retorna_cima();<br />     p.eliminar_cima();<br />     opn1=p.retorna_cima();<br />     p.eliminar_cima();<br />     r=opciones(opn1,opn2,caracter);<br />               p.insertar_cima(r);<br />               break;<br />          default:<br />             num_ca=caracter-48;<br />                   p.insertar_cima(num_ca);<br /> }<br /> }<br /> res=p.retorna_cima();<br /> System.out.println(quot;
El resultado es : quot;
+res);<br />}<br />catch(Exception err)<br />{<br />System.out.println(quot;
Error en el ingreso de datosquot;
+err);<br />}<br />}<br />public static int prioridad(char operador)<br />{<br />int v=0;<br />switch(operador)<br />{<br />case '(': v = 0;<br />        break;<br />case '+': v = 1;<br />break;<br />case '-': v = 1;<br />break;<br />case '*': v = 2;<br />break;<br />case '/': v = 2;<br />break;<br />case '^': v = 3;<br />break;<br />}<br />return v;<br />}<br />public static double opciones(double opn1,double opn2,char operador)<br />{<br />   double valor=0;<br />   switch(operador)<br />     {<br />case '^' : valor = Math.pow(opn1,opn2);break;<br />case '*' : valor = opn1*opn2;break;<br />case '/' : valor = opn1/opn2;break;<br />case '+' : valor = opn1+opn2;break;<br />case '-' : valor = opn1-opn2;break;<br />     }<br />   return valor;<br />}<br />}<br />
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA
NOTACIÓN POSTFIJA E INFIJA - JAVA

Más contenido relacionado

La actualidad más candente

Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetosdesimartinez
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15rasave
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Internasawmuk
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalMaria Garcia
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLuis Fernando Aguas Bucheli
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacionjenny
 
Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++ncrmax
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
Mapa conceptual de colas..
Mapa conceptual de colas..Mapa conceptual de colas..
Mapa conceptual de colas..Luis Gonzalez
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en CAbraham
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 

La actualidad más candente (20)

Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Interna
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
 
Jtextarea
JtextareaJtextarea
Jtextarea
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacion
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++
 
Comandos c#
Comandos c#Comandos c#
Comandos c#
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Mapa conceptual de colas..
Mapa conceptual de colas..Mapa conceptual de colas..
Mapa conceptual de colas..
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en C
 
Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 

Similar a NOTACIÓN POSTFIJA E INFIJA - JAVA

Pila dinamica y pila estatica
Pila dinamica y pila estaticaPila dinamica y pila estatica
Pila dinamica y pila estaticaJoeCorp
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeansedgar muñoz
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01cursobeta
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2climancc
 
Conexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansConexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansjbersosa
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datosjubacalo
 
Programa en c de listas
Programa en c de listasPrograma en c de listas
Programa en c de listasJohan Niño G
 
Comunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto ParaleloComunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto ParaleloMauro Gomez Mejia
 
JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++Freddy Fuentes
 
Tutoria Lenguaje C++
Tutoria Lenguaje C++Tutoria Lenguaje C++
Tutoria Lenguaje C++ruth_reategui
 

Similar a NOTACIÓN POSTFIJA E INFIJA - JAVA (20)

Pila dinamica y pila estatica
Pila dinamica y pila estaticaPila dinamica y pila estatica
Pila dinamica y pila estatica
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
 
Ejemplos java
Ejemplos javaEjemplos java
Ejemplos java
 
Tipos basicos de java
Tipos basicos de javaTipos basicos de java
Tipos basicos de java
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
 
Conexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansConexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeans
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Programa en c de listas
Programa en c de listasPrograma en c de listas
Programa en c de listas
 
Programas en netbeans
Programas en netbeansProgramas en netbeans
Programas en netbeans
 
Comunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto ParaleloComunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto Paralelo
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Practicas de programacion 11 20
Practicas de programacion 11 20Practicas de programacion 11 20
Practicas de programacion 11 20
 
JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++
 
Tutoria Lenguaje C++
Tutoria Lenguaje C++Tutoria Lenguaje C++
Tutoria Lenguaje C++
 
Programacion ii
Programacion iiProgramacion ii
Programacion ii
 
Lecture 37
Lecture 37Lecture 37
Lecture 37
 
Parte 15
Parte 15Parte 15
Parte 15
 
ALGORITMOS EN JAVA
ALGORITMOS EN JAVAALGORITMOS EN JAVA
ALGORITMOS EN JAVA
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 

Más de Shirley Contreras Ulloa

Sistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica DifusaSistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica DifusaShirley Contreras Ulloa
 
Analisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestionAnalisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestionShirley Contreras Ulloa
 
Modelo dinámico de ecuaciones diferenciales
Modelo dinámico de ecuaciones diferencialesModelo dinámico de ecuaciones diferenciales
Modelo dinámico de ecuaciones diferencialesShirley Contreras Ulloa
 
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIOMODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIOShirley Contreras Ulloa
 

Más de Shirley Contreras Ulloa (20)

Gestion de Riesgos
Gestion de RiesgosGestion de Riesgos
Gestion de Riesgos
 
Sistema Basado en Conocimientos
Sistema Basado en ConocimientosSistema Basado en Conocimientos
Sistema Basado en Conocimientos
 
Sistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica DifusaSistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica Difusa
 
Analisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestionAnalisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestion
 
Campeonato deportivo
Campeonato deportivoCampeonato deportivo
Campeonato deportivo
 
PREGUNTAS DE SISTEMAS OPERATIVOS
PREGUNTAS DE SISTEMAS OPERATIVOSPREGUNTAS DE SISTEMAS OPERATIVOS
PREGUNTAS DE SISTEMAS OPERATIVOS
 
RESUMEN Y CLASIFICACION DE MEMORIA RAM
RESUMEN Y CLASIFICACION DE MEMORIA RAMRESUMEN Y CLASIFICACION DE MEMORIA RAM
RESUMEN Y CLASIFICACION DE MEMORIA RAM
 
PROCESO DE ATENCION A INTERRUPCIONES
PROCESO DE ATENCION A INTERRUPCIONESPROCESO DE ATENCION A INTERRUPCIONES
PROCESO DE ATENCION A INTERRUPCIONES
 
Modelo dinámico volterra
Modelo dinámico volterraModelo dinámico volterra
Modelo dinámico volterra
 
Modelo dinámico de ecuaciones diferenciales
Modelo dinámico de ecuaciones diferencialesModelo dinámico de ecuaciones diferenciales
Modelo dinámico de ecuaciones diferenciales
 
Modelo dinámico levaduras
Modelo dinámico levadurasModelo dinámico levaduras
Modelo dinámico levaduras
 
Jerarquía normativa
Jerarquía normativaJerarquía normativa
Jerarquía normativa
 
Modelo dinámico oferta y demanda
Modelo dinámico oferta y demandaModelo dinámico oferta y demanda
Modelo dinámico oferta y demanda
 
Proceso de arranque de un so
Proceso de arranque de un soProceso de arranque de un so
Proceso de arranque de un so
 
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIOMODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
 
Modelo dinámico huesped parasito
Modelo dinámico huesped parasitoModelo dinámico huesped parasito
Modelo dinámico huesped parasito
 
SEGMENTACION
SEGMENTACIONSEGMENTACION
SEGMENTACION
 
FUNCIONES DE STELLA
FUNCIONES DE STELLAFUNCIONES DE STELLA
FUNCIONES DE STELLA
 
ADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIAADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIA
 
Administracion de entrada y salida
Administracion de entrada y salidaAdministracion de entrada y salida
Administracion de entrada y salida
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (10)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

NOTACIÓN POSTFIJA E INFIJA - JAVA

  • 1. 2008UNIVERSIDAD CÉSAR VALLEJOFACULTAD DE INGENIERÍAESCUELA DE SISTEMASNOTACIÓN POSTFIJA E INFIJANOMBRE: Contreras Ulloa, Shirley Asunción.CICLO: III-ADOCENTE: Ing. Oscar Alcántara MorenoCURSO: Estructura de Datos<br />NOTACIÓN POSTFIJA E INFIJA<br />class nodo<br />{<br />private char caracter;<br />private nodo enlace;<br />private nodo(char x)<br />{<br />caracter=x;<br />enlace=null;<br />}<br />//constructor<br />public nodo(char x, nodo enlc)<br />{<br />caracter=x;<br />enlace=enlc;<br />}<br />public void asigna_enlace(nodo enlc)<br />{<br />enlace=enlc;<br />}<br />public void asigna_caracter(char x)<br />{<br />caracter=x;<br />}<br />public char retorna_caracter()<br />{<br />return caracter;<br />}<br />public nodo retorna_enlace()<br />{<br />return enlace;<br />}<br />public void mostrar_nodo()<br />{<br />System.out.println(caracter+quot; quot; );<br />//System.out.println(quot; El enlace es: quot; +enlace);<br />}<br />}<br />class cola<br />{<br />private nodo primero;<br />//constructor<br />public cola()<br />{<br />primero=null;<br />}<br />public boolean vacia()<br />{<br />if(primero==null)<br />return true;<br />else<br />return false;<br />}<br />public void insertar_cola(char x)//este tipo de insertar es el mismo <br />{<br />nodo nuevo =new nodo(x, null); //que el de una lista enlazada insertar al final<br />if(primero==null)<br />primero=nuevo;<br /> else<br /> {<br />nodo ultimo=primero;<br />while(ultimo.retorna_enlace()!=null)<br />{<br /> ultimo=ultimo.retorna_enlace();<br />}<br />ultimo.asigna_enlace(nuevo);<br />}<br />}<br />public void eliminar_primero()<br />{<br />if(primero!=null)<br />primero=primero.retorna_enlace();<br />}<br />public char retorna_primero()<br />{<br />return primero.retorna_caracter();<br />}<br />public void mostrar_cola()<br />{<br />nodo aqui=primero;<br />System.out.println(quot; La cola es: quot; );<br />while(aqui!=null)<br />{<br />aqui.mostrar_nodo();<br />aqui=aqui.retorna_enlace();<br />}<br />System.out.println(quot; Se mostro la colaquot; );<br />}<br />}<br />class pila<br />{<br />private nodo cima;<br />//constructor<br />public pila()<br />{<br />cima=null;<br />}<br />public boolean vacia()<br />{<br />if(cima==null)<br />return true;<br />else<br />return false;<br />}<br />public void insertar_cima(char x)//este tipo de insertar es el mismo <br />{<br />nodo nuevo=new nodo(x, cima);<br />cima=nuevo;<br />}<br />public char retorna_cima() <br />{<br />return cima.retorna_caracter();<br />}<br />public void eliminar_cima()<br />{<br />if(cima!=null)<br />{<br />cima=cima.retorna_enlace();<br />}<br />}<br />public void mostrar_pila()<br />{<br />nodo aqui=cima;<br />System.out.println(quot; Los nodos de la pilaquot; );<br />while(aqui!=null)<br />{<br />aqui.mostrar_nodo();<br />aqui=aqui.retorna_enlace();<br />}<br />System.out.println(quot; Se mostraron todos los nodos de la pilaquot; );<br />}<br />}<br />class nodo2<br />{<br />private double caracter;<br />private nodo2 enlace;<br />private nodo2(double x)<br />{<br />caracter=x;<br />enlace=null;<br />}<br />//constructor<br />public nodo2(double x, nodo2 enlc)<br />{<br />caracter=x;<br />enlace=enlc;<br />}<br />public void asigna_enlace(nodo2 enlc)<br />{<br />enlace=enlc;<br />}<br />public void asigna_caracter(double x)<br />{<br />caracter=x;<br />}<br />public double retorna_caracter()<br />{<br />return caracter;<br />}<br />public nodo2 retorna_enlace()<br />{<br />return enlace;<br />}<br />public void mostrar_nodo()<br />{<br />System.out.println(caracter+quot; quot; );<br />//System.out.println(quot; El enlace es: quot; +enlace);<br />}<br />}<br />class pila2<br />{<br />private nodo2 cima;<br />//constructor<br />public pila2()<br />{<br />cima=null;<br />}<br />public boolean vacia()<br />{<br />if(cima==null)<br />return true;<br />else<br />return false;<br />}<br />public void insertar_cima(double x)//este tipo de insertar es el mismo <br />{<br />nodo2 nuevo=new nodo2(x, cima);<br />cima=nuevo;<br />}<br />public double retorna_cima() <br />{<br />return cima.retorna_caracter();<br />}<br />public void eliminar_cima()<br />{<br />if(cima!=null)<br />{<br />cima=cima.retorna_enlace();<br />}<br />}<br />public void mostrar_pila()<br />{<br />nodo2 aqui=cima;<br />System.out.println(quot; Los nodos de la pilaquot; );<br />while(aqui!=null)<br />{<br />aqui.mostrar_nodo();<br />aqui=aqui.retorna_enlace();<br />}<br />System.out.println(quot; Se mostraron todos los nodos de la pilaquot; );<br />}<br />}<br />import java.io.*;<br />class aplicacion<br />{<br />public static void main (String [] args)<br />{<br />BufferedReader entra =new BufferedReader(new InputStreamReader(System.in));<br />pila pilita = new pila();<br />cola colita = new cola();<br />char caracter='';<br />int pp=0, pe=0;<br />String exp_infija=quot; quot; ;<br />try<br />{<br />System.out.println(quot; La expresión Infija es: quot; );<br />exp_infija=entra.readLine();<br />for(int i=0; i<exp_infija.length(); i++)<br />{<br />caracter=exp_infija.charAt(i);<br />switch(caracter)<br />{<br />case '+': <br />case '-': <br />case '*': <br />case '/': <br />case '^':<br />if(pilita.vacia())<br />{<br />pilita.insertar_cima(caracter);<br />}<br />else<br />{<br />pe=prioridad(caracter);<br />pp=prioridad(pilita.retorna_cima());<br />if(pe>pp)<br />pilita.insertar_cima(caracter);<br />else<br />{<br />while(!pilita.vacia() &&(pe<=pp))<br />{<br /> colita.insertar_cola(pilita.retorna_cima());<br /> pilita.eliminar_cima();<br /> if(!pilita.vacia())<br /> {<br /> pp=prioridad(pilita.retorna_cima());<br /> }<br />}<br />pilita.insertar_cima(caracter);<br />}<br />}<br />break;<br />case '(':<br />pilita.insertar_cima(caracter);<br />break;<br />case ')':<br />while(pilita.retorna_cima()!='(')<br />{<br />colita.insertar_cola(pilita.retorna_cima());<br />pilita.eliminar_cima();<br />}<br />pilita.eliminar_cima();<br />break;<br />default:<br />colita.insertar_cola(caracter);<br />}<br />}<br />while(!pilita.vacia())<br />{<br /> colita.insertar_cola(pilita.retorna_cima());<br /> pilita.eliminar_cima();<br />}<br />System.out.println(quot; La Expresion postfija es: quot; );<br />colita.mostrar_cola();<br />//Inicia la operaciones para encontrar el resultado<br />double opn1,opn2,r,num_ca,res;// donde r es resultado preliminar, num_ca es el numero que da del codigo asqui<br /> pila2 p = new pila2();<br /> while(!colita.vacia())<br />{<br /> caracter=colita.retorna_primero();<br /> colita.eliminar_primero();<br /> switch(caracter)<br /> {<br /> case '+': <br /> case '-':<br /> case '*':<br /> case '/': <br /> case '^':<br /> opn2=p.retorna_cima();<br /> p.eliminar_cima();<br /> opn1=p.retorna_cima();<br /> p.eliminar_cima();<br /> r=opciones(opn1,opn2,caracter);<br /> p.insertar_cima(r);<br /> break;<br /> default:<br /> num_ca=caracter-48;<br /> p.insertar_cima(num_ca);<br /> }<br /> }<br /> res=p.retorna_cima();<br /> System.out.println(quot; El resultado es : quot; +res);<br />}<br />catch(Exception err)<br />{<br />System.out.println(quot; Error en el ingreso de datosquot; +err);<br />}<br />}<br />public static int prioridad(char operador)<br />{<br />int v=0;<br />switch(operador)<br />{<br />case '(': v = 0;<br /> break;<br />case '+': v = 1;<br />break;<br />case '-': v = 1;<br />break;<br />case '*': v = 2;<br />break;<br />case '/': v = 2;<br />break;<br />case '^': v = 3;<br />break;<br />}<br />return v;<br />}<br />public static double opciones(double opn1,double opn2,char operador)<br />{<br /> double valor=0;<br /> switch(operador)<br /> {<br />case '^' : valor = Math.pow(opn1,opn2);break;<br />case '*' : valor = opn1*opn2;break;<br />case '/' : valor = opn1/opn2;break;<br />case '+' : valor = opn1+opn2;break;<br />case '-' : valor = opn1-opn2;break;<br /> }<br /> return valor;<br />}<br />}<br />