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 (20)

Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Listas
ListasListas
Listas
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Colas
ColasColas
Colas
 
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
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Llave primaria y llave foránea
Llave primaria y llave foráneaLlave primaria y llave foránea
Llave primaria y llave foránea
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Guía de ejercicios de normalizacion
Guía de ejercicios de normalizacionGuía de ejercicios de normalizacion
Guía de ejercicios de normalizacion
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 

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 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
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 

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

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 

Último (20)

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 

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