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

Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlabVitoto96
 
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalDiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalNatalia Ludeña
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesMago Julio Cesar
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Trabajo series de taylor
Trabajo series de taylorTrabajo series de taylor
Trabajo series de taylorFredy
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalizacióncintiap25
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binarioMariela Cabezas
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Jsrfs Montemayor
 
arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en javamarhoz
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Ana Castro
 

La actualidad más candente (20)

Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlab
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Lista simple
Lista simpleLista simple
Lista simple
 
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalDiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Trabajo series de taylor
Trabajo series de taylorTrabajo series de taylor
Trabajo series de taylor
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 
arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en java
 
modelo entidad-relacion
modelo entidad-relacionmodelo entidad-relacion
modelo entidad-relacion
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 

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

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
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
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
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
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
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
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
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
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

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 />