SlideShare una empresa de Scribd logo
1 de 8
República Bolivariana de Venezuela
Instituto Universitario de Tecnología
“Antonio José de Sucre”
Extensión San Felipe
PILAS
AUTOR:
JOSÉ GABRIEL LUCENA
CI:30.840.291
SAN FELIPE
Pilas: Definición
Una pila es una estructura de datos lineal que sigue el principio de
"último en entrar, primero en salir" (LIFO, Last In, First Out). En una pila, los
elementos se insertan y eliminan solo en un extremo, conocido como la parte
superior de la pila, esto significa que el último elemento que se añade a la
pila es el primero en ser eliminado.
Las pilas son utilizadas comúnmente en programación para realizar
diversas tareas, como la reversión de cadenas, seguimiento de la ejecución
de funciones y evaluación de expresiones aritméticas.
En resumen, una pila es una estructura de datos que permite el
almacenamiento y recuperación de elementos de manera secuencial,
siguiendo el principio LIFO, es decir, Cada vez que se agrega un elemento a
la pila, este se coloca en la parte superior y cuando se elimina un elemento,
se extrae el que está en la parte superior de la pila.
Características
Las pilas tienen varias características distintivas que las hacen útiles
en diferentes contextos, dentro de las más importantes se encuentran:
1. LIFO (Last In, First Out): Este principio define el comportamiento
fundamental de una pila ya que en una pila el último elemento que se añade
es el primero en ser eliminado.
2. Operaciones básicas: Las operaciones básicas que se pueden
realizar en una pila son:
- Push: Agregar un elemento a la parte superior de la pila.
- Pop: Eliminar y devolver el elemento en la parte superior de la pila.
- Peek o top: Obtener el elemento en la parte superior de la pila sin
eliminarlo.
- IsEmpty: Verificar si la pila está vacía.
- Size: Obtener el número de elementos en la pila.
3. Implementación con estructuras de datos: Las pilas suelen
implementarse utilizando arreglos o listas enlazadas, cada implementación
tiene sus propias ventajas y desventajas en términos de eficiencia y
complejidad.
4. Aplicaciones en programación: Las pilas son utilizan en muchos
contextos de programación como la reversión de cadenas, la evaluación de
expresiones aritméticas, el seguimiento de la ejecución de funciones (pilas
de llamadas), la gestión de memoria (pila de llamadas al sistema) y en
algoritmos como DFS (Depth-First Search).
5. Estructura simple y eficiente: Las pilas son estructuras de datos
simples y eficientes que permiten un acceso rápido a los elementos en la
parte superior de la pila, lo que las hace ideales para ciertas tareas
específicas.
Representación
La representación de una pila en programación puede variar
dependiendo de la implementación elegida, ya que las dos implementaciones
más comunes son utilizando arreglos (arrays) o listas enlazadas (linked lists).
Las pilas en cada una de estas estructuras de datos se representan de la
siguiente manera:
1. Pila con arreglo (array):
En esta representación, se utiliza un arreglo para almacenar los
elementos de la pila, se suele tener un puntero que apunta al índice del
elemento en la parte superior de la pila, las operaciones push y pop se
realizan modificando este puntero y actualizando el arreglo en consecuencia.
Una desventaja de esta implementación es que el tamaño del arreglo
debe ser fijo o se debe realizar un reajuste dinámico si la pila crece más allá
de su capacidad actual.
2. Pila con lista enlazada (linked list):
En esta representación, se utiliza una lista enlazada para almacenar
los elementos de la pila, donde cada nodo de la lista contiene un elemento y
un puntero al siguiente nodo.
El nodo en la parte superior de la pila es el primer nodo de la lista y las
operaciones push y pop se realizan añadiendo o eliminando nodos en el
inicio de la lista, respectivamente.
Una ventaja de esta implementación es que no tiene limitaciones de
tamaño fijo y puede crecer dinámicamente según sea necesario.
Tratamiento de una pila: Modo fifo, modo lifo. Ejemplos
El tratamiento de una pila puede realizarse de dos formas diferentes:
1. **Modo FIFO (First In, First Out)**: en la primera forma los
elementos se insertan y se eliminan en el mismo orden en el que fueron
agregados a la pila, es similar al comportamiento de una cola (queue) en la
que el primer elemento que se inserta es el primero en ser eliminado.
En una pila tratada en modo FIFO, al hacer un pop, se extrae el
elemento que fue agregado primero (el más antiguo).
2. **Modo LIFO (Last In, First Out)**: en la segunda forma los
elementos se insertan y se eliminan en orden inverso al que fueron
agregados a la pila, es el comportamiento típico de una pila, donde el último
elemento que se inserta es el primero en ser eliminado.
En una pila tratada en modo LIFO, al hacer un pop, se extraerá el
elemento que fue agregado más recientemente (el más nuevo).
La elección del modo FIFO o LIFO dependerá del problema que se
desea resolver y de cómo se necesita acceder y manipular los elementos en
la pila, En algunos casos el modo LIFO es el más común y utilizado debido a
su simplicidad y eficiencia en la mayoría de los escenarios.
Operaciones a realizar con estructura de pila. Ejemplos
Las estructuras de pila son muy útiles en programación para organizar
y manipular datos de manera eficiente, algunas de las operaciones comunes
que se pueden realizar con una estructura de pila son las siguientes:
1. Push (Empujar):
- La operación push se utiliza para agregar un elemento a la pila.
- El nuevo elemento se coloca en la cima de la pila.
2. Pop (Extraer):
- La operación pop se utiliza para extraer y eliminar el elemento que
se encuentra en la cima de la pila.
- Al hacer un pop, se obtiene el elemento más recientemente
agregado.
3. Peek (Mirar:
- La operación peek permite ver el elemento que se encuentra en la
cima de la pila sin extraerlo.
- Es útil para revisar cuál es el próximo elemento que será eliminado
al hacer un pop.
4. isEmpty (Está vacía):
- La operación isEmpty verifica si la pila está vacía, es decir, si no
tiene elementos.
- Devuelve verdadero si la pila está vacía y falso si tiene al menos un
elemento.
5. Size (Tamaño):
- La operación size devuelve la cantidad de elementos que hay en la
pila en un momento dado.
Diseñar Algoritmos elementales para el tratamiento de pila
A continuación algunos algoritmos elementales para el tratamiento de
una pila (stack) en C++:
1. Push (Agregar un elemento a la pila):
#include <iostream>
#include <stack>
void pushElement(std::stack<int>& s, int element) {
s.push(element);
std::cout << "Elemento " << element << " agregado a la pila." <<
std::endl;}
2. Pop (Eliminar el elemento superior de la pila):
#include <iostream>
#include <stack>
void popElement(std::stack<int>& s) {
if (!s.empty()) {
int topElement = s.top();
s.pop();
std::cout << "Elemento " << topElement << " eliminado de la pila."
<< std::endl;
} else {
std::cout << "La pila está vacía, no se puede eliminar ningún
elemento." << std::endl; }}
3. Top (Obtener el elemento superior de la pila sin eliminarlo):
#include <iostream>
#include <stack>
void topElement(std::stack<int>& s) {
if (!s.empty()) {
int topElement = s.top();
std::cout << "El elemento superior de la pila es: " << topElement
<< std::endl;
} else {
std::cout << "La pila está vacía, no hay elementos para mostrar."
<< std::endl; }}
4. Verificar si la pila está vacía:
#include <iostream>
#include <stack>
void isEmpty(std::stack<int>& s) {
if (s.empty()) {
std::cout << "La pila está vacía." << std::endl;
} else {
std::cout << "La pila no está vacía." << std::endl; }}

Más contenido relacionado

Similar a TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
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
 
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
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Z Karina Hernandez A
 
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
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilasgeova666
 

Similar a TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233 (20)

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como 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
 
Pilas
PilasPilas
Pilas
 
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
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
 
Pilas .pptx
Pilas .pptxPilas .pptx
Pilas .pptx
 
Estructura de Datos (LISTAS, COLAS y PILAS)
Estructura de Datos (LISTAS, COLAS y PILAS) Estructura de Datos (LISTAS, COLAS y PILAS)
Estructura de Datos (LISTAS, COLAS y PILAS)
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
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
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
Pilas
PilasPilas
Pilas
 
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
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 

Último

PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariaPLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariajosevilla696981
 
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOPERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOAdrianaBernal82
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptxRosiClaros
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf socialesJhonathanRodriguez10
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptCARLOSAXELVENTURAVID
 
Red WAN que es una red WAN? para que sirve?.pptx
Red WAN que es una red WAN? para que sirve?.pptxRed WAN que es una red WAN? para que sirve?.pptx
Red WAN que es una red WAN? para que sirve?.pptxcorteztabo1004
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añosMaraPazCrdenas
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosDebora Gomez Bertoli
 

Último (8)

PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariaPLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primaria
 
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOPERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.ppt
 
Red WAN que es una red WAN? para que sirve?.pptx
Red WAN que es una red WAN? para que sirve?.pptxRed WAN que es una red WAN? para que sirve?.pptx
Red WAN que es una red WAN? para que sirve?.pptx
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
 

TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233

  • 1. República Bolivariana de Venezuela Instituto Universitario de Tecnología “Antonio José de Sucre” Extensión San Felipe PILAS AUTOR: JOSÉ GABRIEL LUCENA CI:30.840.291 SAN FELIPE
  • 2. Pilas: Definición Una pila es una estructura de datos lineal que sigue el principio de "último en entrar, primero en salir" (LIFO, Last In, First Out). En una pila, los elementos se insertan y eliminan solo en un extremo, conocido como la parte superior de la pila, esto significa que el último elemento que se añade a la pila es el primero en ser eliminado. Las pilas son utilizadas comúnmente en programación para realizar diversas tareas, como la reversión de cadenas, seguimiento de la ejecución de funciones y evaluación de expresiones aritméticas. En resumen, una pila es una estructura de datos que permite el almacenamiento y recuperación de elementos de manera secuencial, siguiendo el principio LIFO, es decir, Cada vez que se agrega un elemento a la pila, este se coloca en la parte superior y cuando se elimina un elemento, se extrae el que está en la parte superior de la pila. Características Las pilas tienen varias características distintivas que las hacen útiles en diferentes contextos, dentro de las más importantes se encuentran: 1. LIFO (Last In, First Out): Este principio define el comportamiento fundamental de una pila ya que en una pila el último elemento que se añade es el primero en ser eliminado. 2. Operaciones básicas: Las operaciones básicas que se pueden realizar en una pila son: - Push: Agregar un elemento a la parte superior de la pila.
  • 3. - Pop: Eliminar y devolver el elemento en la parte superior de la pila. - Peek o top: Obtener el elemento en la parte superior de la pila sin eliminarlo. - IsEmpty: Verificar si la pila está vacía. - Size: Obtener el número de elementos en la pila. 3. Implementación con estructuras de datos: Las pilas suelen implementarse utilizando arreglos o listas enlazadas, cada implementación tiene sus propias ventajas y desventajas en términos de eficiencia y complejidad. 4. Aplicaciones en programación: Las pilas son utilizan en muchos contextos de programación como la reversión de cadenas, la evaluación de expresiones aritméticas, el seguimiento de la ejecución de funciones (pilas de llamadas), la gestión de memoria (pila de llamadas al sistema) y en algoritmos como DFS (Depth-First Search). 5. Estructura simple y eficiente: Las pilas son estructuras de datos simples y eficientes que permiten un acceso rápido a los elementos en la parte superior de la pila, lo que las hace ideales para ciertas tareas específicas. Representación La representación de una pila en programación puede variar dependiendo de la implementación elegida, ya que las dos implementaciones más comunes son utilizando arreglos (arrays) o listas enlazadas (linked lists). Las pilas en cada una de estas estructuras de datos se representan de la siguiente manera:
  • 4. 1. Pila con arreglo (array): En esta representación, se utiliza un arreglo para almacenar los elementos de la pila, se suele tener un puntero que apunta al índice del elemento en la parte superior de la pila, las operaciones push y pop se realizan modificando este puntero y actualizando el arreglo en consecuencia. Una desventaja de esta implementación es que el tamaño del arreglo debe ser fijo o se debe realizar un reajuste dinámico si la pila crece más allá de su capacidad actual. 2. Pila con lista enlazada (linked list): En esta representación, se utiliza una lista enlazada para almacenar los elementos de la pila, donde cada nodo de la lista contiene un elemento y un puntero al siguiente nodo. El nodo en la parte superior de la pila es el primer nodo de la lista y las operaciones push y pop se realizan añadiendo o eliminando nodos en el inicio de la lista, respectivamente. Una ventaja de esta implementación es que no tiene limitaciones de tamaño fijo y puede crecer dinámicamente según sea necesario. Tratamiento de una pila: Modo fifo, modo lifo. Ejemplos El tratamiento de una pila puede realizarse de dos formas diferentes: 1. **Modo FIFO (First In, First Out)**: en la primera forma los elementos se insertan y se eliminan en el mismo orden en el que fueron
  • 5. agregados a la pila, es similar al comportamiento de una cola (queue) en la que el primer elemento que se inserta es el primero en ser eliminado. En una pila tratada en modo FIFO, al hacer un pop, se extrae el elemento que fue agregado primero (el más antiguo). 2. **Modo LIFO (Last In, First Out)**: en la segunda forma los elementos se insertan y se eliminan en orden inverso al que fueron agregados a la pila, es el comportamiento típico de una pila, donde el último elemento que se inserta es el primero en ser eliminado. En una pila tratada en modo LIFO, al hacer un pop, se extraerá el elemento que fue agregado más recientemente (el más nuevo). La elección del modo FIFO o LIFO dependerá del problema que se desea resolver y de cómo se necesita acceder y manipular los elementos en la pila, En algunos casos el modo LIFO es el más común y utilizado debido a su simplicidad y eficiencia en la mayoría de los escenarios. Operaciones a realizar con estructura de pila. Ejemplos Las estructuras de pila son muy útiles en programación para organizar y manipular datos de manera eficiente, algunas de las operaciones comunes que se pueden realizar con una estructura de pila son las siguientes: 1. Push (Empujar): - La operación push se utiliza para agregar un elemento a la pila. - El nuevo elemento se coloca en la cima de la pila. 2. Pop (Extraer):
  • 6. - La operación pop se utiliza para extraer y eliminar el elemento que se encuentra en la cima de la pila. - Al hacer un pop, se obtiene el elemento más recientemente agregado. 3. Peek (Mirar: - La operación peek permite ver el elemento que se encuentra en la cima de la pila sin extraerlo. - Es útil para revisar cuál es el próximo elemento que será eliminado al hacer un pop. 4. isEmpty (Está vacía): - La operación isEmpty verifica si la pila está vacía, es decir, si no tiene elementos. - Devuelve verdadero si la pila está vacía y falso si tiene al menos un elemento. 5. Size (Tamaño): - La operación size devuelve la cantidad de elementos que hay en la pila en un momento dado. Diseñar Algoritmos elementales para el tratamiento de pila A continuación algunos algoritmos elementales para el tratamiento de una pila (stack) en C++: 1. Push (Agregar un elemento a la pila): #include <iostream> #include <stack> void pushElement(std::stack<int>& s, int element) { s.push(element); std::cout << "Elemento " << element << " agregado a la pila." << std::endl;}
  • 7. 2. Pop (Eliminar el elemento superior de la pila): #include <iostream> #include <stack> void popElement(std::stack<int>& s) { if (!s.empty()) { int topElement = s.top(); s.pop(); std::cout << "Elemento " << topElement << " eliminado de la pila." << std::endl; } else { std::cout << "La pila está vacía, no se puede eliminar ningún elemento." << std::endl; }} 3. Top (Obtener el elemento superior de la pila sin eliminarlo): #include <iostream> #include <stack> void topElement(std::stack<int>& s) { if (!s.empty()) { int topElement = s.top(); std::cout << "El elemento superior de la pila es: " << topElement << std::endl; } else { std::cout << "La pila está vacía, no hay elementos para mostrar." << std::endl; }} 4. Verificar si la pila está vacía: #include <iostream> #include <stack> void isEmpty(std::stack<int>& s) { if (s.empty()) {
  • 8. std::cout << "La pila está vacía." << std::endl; } else { std::cout << "La pila no está vacía." << std::endl; }}