SlideShare una empresa de Scribd logo
1 de 14
Aprendiendo Java
Pilas y Colas
Por Juan Astudillo
TDA: Tipos Abstractos de Datos
Pilas y Colas (Stack & Queue)
Pilas (Stacks)
• Una pila (stack en inglés) es parte de los TDA (Tipos
Abstractos de Datos) es una lista ordenada o estructura
de datos en la que el modo de acceso a sus elementos es
de tipo LIFO (del inglés Last In First Out, último en entrar,
primero en salir) que permite almacenar y recuperar
datos.
• Esta estructura TDA se usa en multitud de ocasiones en el
área de la informática debido a su simplicitud y
ordenación implícita de la propia estructura.
Pilas (Stacks)
• En todo momento sólo se tiene acceso a la parte superior de la pila, es
decir, al último objeto apilado (denominado TOS, Top of Stack en inglés
( es español a veces llamado Tope)). La operación sacar permite la
obtención de este elemento, que es retirado de la pila permitiendo el
acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo
TOS.
• Por analogía con objetos cotidianos, una operación apilar equivaldría a
colocar un plato sobre una pila de platos, y una operación retirar a
retirarlo.
• Para que se ocupan las Pilas:
-Evaluación de expresiones en notación postfija (notación polaca
inversa).
-Reconocedores sintácticos de lenguajes independientes del contexto
-Implementación de recursividad.
Pilas (Stacks)
• Operaciones con Pilas
Una pila cuenta con 2 operaciones imprescindibles: apilar y desapilar, a las que en
las implementaciones modernas de las pilas se suelen añadir más de uso habitual:
Crear: se crea la pila vacía. (constructor)
Tamaño: regresa el numero de elementos de la pila. (size)
Apilar: se añade un elemento a la pila.(push)
Desapilar (retirar): se elimina el elemento frontal de la pila.(pop)
Cima: devuelve el elemento que esta en la cima de la pila. (top o peek)
Vacía: devuelve cierto si la pila está vacía o falso en caso contrario (empty).
Pilas (Stacks)
Pilas (Stacks)
import java.util.Stack;
public class Pila_Stack {
public static void main(String args[])
{
Stack s = new Stack();
s.push(“Pilas");
s.push(“en");
s.push(“Java");
System.out.println(s);
}
}
Programa en Java que muestra el comportamiento de last-in-first-out (LIFO)
Programa en Java que muestra el uso de import java.util.Stack;
Pilas (Stacks)
import java.util.Stack;
public class StackExample {
public static void main(String args[]) {
Stack s = new Stack();
s.push("Java");
s.push("Source");
s.push("and");
System.out.println("Next: " + s.peek());
s.push("Support");
System.out.println(s.pop());
s.push(".");
int count = s.search("Java");
while (count != -1 && count > 1) {
s.pop();
count--;
}
System.out.println(s.pop());
System.out.println(s.empty());
}
}
uso de import java.util.Stack;
Colas (Queue)
•Una cola (también llamada fila) es otro TDA, es una estructura de datos,
caracterizada por ser una secuencia de elementos en la que la operación de
inserción push se realiza por un extremo y la operación de extracción pop
por el otro. También se le llama estructura FIFO (del inglés First In First Out),
debido a que el primer elemento en entrar será también el primero en salir.
•Las colas se utilizan en sistemas informáticos, transportes y operaciones de
investigación (entre otros), dónde los objetos, personas o eventos son
tomados como datos que se almacenan y se guardan mediante colas para su
posterior procesamiento.
Este tipo de estructura de datos abstracta se implementa en lenguajes
orientados a objetos mediante clases, en forma de listas enlazadas.
Colas (Queue)
Operaciones Básicas con Colas
•Crear: se crea la cola vacía.
•Encolar (añadir, entrar, insertar): se añade un elemento a la cola. Se añade
al final de esta.
•Desencolar (sacar, salir, eliminar): se elimina el elemento frontal de la cola,
es decir, el primer elemento que entró.
•Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir,
el primer elemento que entró.
Colas (Queue)
Ejemplo Visual de Cola
Colas (Queue)
import java.util.Collections;
import java.util.LinkedList;
public class Cola {
LinkedList cola = new LinkedList();
public void encolar(int a) {
cola.addFirst(a);
}
public int desencolar() {
return (int) cola.removeLast();
}
public void mostrar() {
System.out.println(cola);
}
public void ordenar() {
Collections.sort(cola);
}
}
• Métodos para Pilas (Stack) sobre Stack
• Push
• Pop
• Peek
• Size
• Get
• Set
• Search
• System.out.println(<pila>);
• Métodos para Colas (Queue) sobre LinkedList
• AddFirst
• RemoveLast
• PeekLast => Front
• Size
• Get
• Set
• System.out.println(<cola>);
Resumen
*Estos son algunos de los más usados e importantes
14
Java es propiedad de Oracle Corporation. Todos los derechos reservados.
-Microsoft Windows es propiedad de Microsoft Corporation. Todos los derechos reservados.
Presentación construida con software original Microsoft Windows,
Microsoft Office y Oracle.
Gracias

Más contenido relacionado

La actualidad más candente

Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relaciónjosecuartas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una colajeffersoncenteno
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura linealesEnrique2194
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificaciónAlex Uhu Colli
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 

La actualidad más candente (20)

Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Listas
ListasListas
Listas
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Colas
ColasColas
Colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Complemento A Dos
Complemento A DosComplemento A Dos
Complemento A Dos
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una cola
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 

Similar a Java pilas (Stacks) y colas (Queues)

Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datosJosé Braganza
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionLUISFERNANDOMORENOSO2
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colasjorgeluis0317
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colasCecilia Loeza
 
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacionUnidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacionherbasrocio
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos jarydr18
 

Similar a Java pilas (Stacks) y colas (Queues) (20)

Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Python Pilas y Colas
Python Pilas y ColasPython Pilas y Colas
Python Pilas y Colas
 
Datos
DatosDatos
Datos
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacion
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
DECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdfDECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdf
 
Pilas Colas
Pilas ColasPilas Colas
Pilas Colas
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacionUnidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos
 

Más de Juan Astudillo

Petya / Petrwrap / NoPetya
Petya / Petrwrap / NoPetyaPetya / Petrwrap / NoPetya
Petya / Petrwrap / NoPetyaJuan Astudillo
 
Mejora de Rendimiento y Aceleración de Microsoft Excel
Mejora de Rendimiento y Aceleración de Microsoft ExcelMejora de Rendimiento y Aceleración de Microsoft Excel
Mejora de Rendimiento y Aceleración de Microsoft ExcelJuan Astudillo
 
Ransonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus InformáticoRansonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus InformáticoJuan Astudillo
 
JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2Juan Astudillo
 
Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)Juan Astudillo
 
Comandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSiteComandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSiteJuan Astudillo
 
Limpiar Windows, Internet Explorer y Chrome
Limpiar Windows, Internet Explorer y ChromeLimpiar Windows, Internet Explorer y Chrome
Limpiar Windows, Internet Explorer y ChromeJuan Astudillo
 
Acercamiento a BPMN - Instalacion y configuracion Bonita
Acercamiento a BPMN - Instalacion y configuracion BonitaAcercamiento a BPMN - Instalacion y configuracion Bonita
Acercamiento a BPMN - Instalacion y configuracion BonitaJuan Astudillo
 
Control de Aplicaciones - Hacking Corporativo - Auditoria Computacional
Control de Aplicaciones - Hacking Corporativo - Auditoria ComputacionalControl de Aplicaciones - Hacking Corporativo - Auditoria Computacional
Control de Aplicaciones - Hacking Corporativo - Auditoria ComputacionalJuan Astudillo
 
Java Arreglos y Matrices
Java Arreglos y MatricesJava Arreglos y Matrices
Java Arreglos y MatricesJuan Astudillo
 
Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010Juan Astudillo
 
Activación servicios Windows para replicación MSSQL Server 2005
Activación servicios Windows para replicación MSSQL Server 2005 Activación servicios Windows para replicación MSSQL Server 2005
Activación servicios Windows para replicación MSSQL Server 2005 Juan Astudillo
 
Instalación y configuración Mysql Xampp
Instalación y configuración Mysql XamppInstalación y configuración Mysql Xampp
Instalación y configuración Mysql XamppJuan Astudillo
 
Instalación y configuración Mysql Server Federado 5.5.33
Instalación y configuración Mysql Server Federado 5.5.33Instalación y configuración Mysql Server Federado 5.5.33
Instalación y configuración Mysql Server Federado 5.5.33Juan Astudillo
 

Más de Juan Astudillo (18)

Introducción a Scrum
Introducción a ScrumIntroducción a Scrum
Introducción a Scrum
 
Petya / Petrwrap / NoPetya
Petya / Petrwrap / NoPetyaPetya / Petrwrap / NoPetya
Petya / Petrwrap / NoPetya
 
Mejora de Rendimiento y Aceleración de Microsoft Excel
Mejora de Rendimiento y Aceleración de Microsoft ExcelMejora de Rendimiento y Aceleración de Microsoft Excel
Mejora de Rendimiento y Aceleración de Microsoft Excel
 
Ransonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus InformáticoRansonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus Informático
 
JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2JavaScript pilas (Stacks) y colas (Queues) 2
JavaScript pilas (Stacks) y colas (Queues) 2
 
Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)
 
Java & Strings
Java & StringsJava & Strings
Java & Strings
 
Java y Matematicas
Java y MatematicasJava y Matematicas
Java y Matematicas
 
Comandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSiteComandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSite
 
Limpiar Windows, Internet Explorer y Chrome
Limpiar Windows, Internet Explorer y ChromeLimpiar Windows, Internet Explorer y Chrome
Limpiar Windows, Internet Explorer y Chrome
 
Acercamiento a BPMN - Instalacion y configuracion Bonita
Acercamiento a BPMN - Instalacion y configuracion BonitaAcercamiento a BPMN - Instalacion y configuracion Bonita
Acercamiento a BPMN - Instalacion y configuracion Bonita
 
Control de Aplicaciones - Hacking Corporativo - Auditoria Computacional
Control de Aplicaciones - Hacking Corporativo - Auditoria ComputacionalControl de Aplicaciones - Hacking Corporativo - Auditoria Computacional
Control de Aplicaciones - Hacking Corporativo - Auditoria Computacional
 
Java Arreglos y Matrices
Java Arreglos y MatricesJava Arreglos y Matrices
Java Arreglos y Matrices
 
Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Activación servicios Windows para replicación MSSQL Server 2005
Activación servicios Windows para replicación MSSQL Server 2005 Activación servicios Windows para replicación MSSQL Server 2005
Activación servicios Windows para replicación MSSQL Server 2005
 
Instalación y configuración Mysql Xampp
Instalación y configuración Mysql XamppInstalación y configuración Mysql Xampp
Instalación y configuración Mysql Xampp
 
Instalación y configuración Mysql Server Federado 5.5.33
Instalación y configuración Mysql Server Federado 5.5.33Instalación y configuración Mysql Server Federado 5.5.33
Instalación y configuración Mysql Server Federado 5.5.33
 

Último

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 

Último (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 

Java pilas (Stacks) y colas (Queues)

  • 1. Aprendiendo Java Pilas y Colas Por Juan Astudillo
  • 2. TDA: Tipos Abstractos de Datos Pilas y Colas (Stack & Queue)
  • 3. Pilas (Stacks) • Una pila (stack en inglés) es parte de los TDA (Tipos Abstractos de Datos) es una lista ordenada o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. • Esta estructura TDA se usa en multitud de ocasiones en el área de la informática debido a su simplicitud y ordenación implícita de la propia estructura.
  • 4. Pilas (Stacks) • En todo momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, Top of Stack en inglés ( es español a veces llamado Tope)). La operación sacar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS. • Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar a retirarlo. • Para que se ocupan las Pilas: -Evaluación de expresiones en notación postfija (notación polaca inversa). -Reconocedores sintácticos de lenguajes independientes del contexto -Implementación de recursividad.
  • 5. Pilas (Stacks) • Operaciones con Pilas Una pila cuenta con 2 operaciones imprescindibles: apilar y desapilar, a las que en las implementaciones modernas de las pilas se suelen añadir más de uso habitual: Crear: se crea la pila vacía. (constructor) Tamaño: regresa el numero de elementos de la pila. (size) Apilar: se añade un elemento a la pila.(push) Desapilar (retirar): se elimina el elemento frontal de la pila.(pop) Cima: devuelve el elemento que esta en la cima de la pila. (top o peek) Vacía: devuelve cierto si la pila está vacía o falso en caso contrario (empty).
  • 7. Pilas (Stacks) import java.util.Stack; public class Pila_Stack { public static void main(String args[]) { Stack s = new Stack(); s.push(“Pilas"); s.push(“en"); s.push(“Java"); System.out.println(s); } } Programa en Java que muestra el comportamiento de last-in-first-out (LIFO) Programa en Java que muestra el uso de import java.util.Stack;
  • 8. Pilas (Stacks) import java.util.Stack; public class StackExample { public static void main(String args[]) { Stack s = new Stack(); s.push("Java"); s.push("Source"); s.push("and"); System.out.println("Next: " + s.peek()); s.push("Support"); System.out.println(s.pop()); s.push("."); int count = s.search("Java"); while (count != -1 && count > 1) { s.pop(); count--; } System.out.println(s.pop()); System.out.println(s.empty()); } } uso de import java.util.Stack;
  • 9. Colas (Queue) •Una cola (también llamada fila) es otro TDA, es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. •Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.
  • 10. Colas (Queue) Operaciones Básicas con Colas •Crear: se crea la cola vacía. •Encolar (añadir, entrar, insertar): se añade un elemento a la cola. Se añade al final de esta. •Desencolar (sacar, salir, eliminar): se elimina el elemento frontal de la cola, es decir, el primer elemento que entró. •Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primer elemento que entró.
  • 12. Colas (Queue) import java.util.Collections; import java.util.LinkedList; public class Cola { LinkedList cola = new LinkedList(); public void encolar(int a) { cola.addFirst(a); } public int desencolar() { return (int) cola.removeLast(); } public void mostrar() { System.out.println(cola); } public void ordenar() { Collections.sort(cola); } }
  • 13. • Métodos para Pilas (Stack) sobre Stack • Push • Pop • Peek • Size • Get • Set • Search • System.out.println(<pila>); • Métodos para Colas (Queue) sobre LinkedList • AddFirst • RemoveLast • PeekLast => Front • Size • Get • Set • System.out.println(<cola>); Resumen *Estos son algunos de los más usados e importantes
  • 14. 14 Java es propiedad de Oracle Corporation. Todos los derechos reservados. -Microsoft Windows es propiedad de Microsoft Corporation. Todos los derechos reservados. Presentación construida con software original Microsoft Windows, Microsoft Office y Oracle. Gracias