SlideShare una empresa de Scribd logo
PILAS EN C++
Definicion.

La pila es una estructura de datos (similar a una pila de
platos) que permite almacenar datos en el
orden LIFO (Last In First Out) en español, último en
entrar, primero en salir). La recuperación de los datos
es hecha en el orden inverso de su inserción.
Una pila es un tipo especial
de lista abierta en la que
sólo se pueden insertar y
eliminar nodos en uno de los
extremos de la lista. Estas
operaciones se conocen
como "push" y "pop",
respectivamente "empujar" y
"tirar".
Además,
las
escrituras de datos siempre
son inserciones de nodos, y
las
lecturas
siempre
eliminan el nodo leído.
Declaraciones de tipos para manejar
pilas en C.
El nodo típico para construir pilas
struct _nodo
{
int dato;
struct nodo *siguiente;
};

Es muy importante que
nuestro programa nunca
pierda el valor del
puntero
al
primer
elemento, igual que
pasa con las listas
abiertas.

Los tipos que definiremos
normalmente para manejar
pilas serán casi los mismos
que para manejar listas, tan
sólo cambiaremos algunos
nombres:
typedef struct _nodo
{
int dato;
struct _nodo *siguiente;
}tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Pila;

*tipoNodo es el tipo para declarar nodos,
evidentemente.
*pNodo es el tipo para declarar punteros a un nodo.
La Pila
GESTIÓN DE
MEMORIA
ESTÁTICA

GESTIÓN DE
MEMORIA
DINÁMICA
Operaciones básicas.
Las pilas tienen un conjunto de
operaciones muy limitado, sólo permiten
las operaciones de "push" y "pop":

*Push:
Añadir
un
elemento al final de la
pila.

*Pop: Leer y eliminar
elemento del final de la pila.

Las operaciones con pilas son
muy simples, no hay casos
especiales, salvo que la pila
esté vacía.

un
Push en una pila vacía
Partiremos de que ya tenemos el
nodo a insertar y, por supuesto
un puntero que apunte a él,
además el puntero a la pila
valdrá NULL:
El proceso es
bastará con que:

muy

1.nodo->siguiente
NULL.
2.Pila apunte a nodo.

simple,

apunte

a
Push en una pila NO vacía
Podemos considerar el caso anterior como
un caso particular de éste, la única
diferencia es que podemos y debemos
trabajar con una pila vacía como con una
pila normal.
De nuevo partiremos de un nodo a
insertar, con un puntero que apunte a él, y
de una pila, en este caso no vacía:

El proceso sigue siendo muy
sencillo:
1.
Hacemos
que
nodo>siguiente apunte a Pila.
2. Hacemos que Pila apunte a
nodo.
Pop, leer y eliminar un elemento.
Ahora sólo existe un caso posible, ya que
sólo podemos leer desde un extremo de la
pila.
Partiremos de una pila con uno o más
nodos, y usaremos un puntero auxiliar,
nodo:

1.Hacemos que nodo apunte al primer elemento de la pila,
es decir a Pila.
2.Asignamos a Pila la dirección del segundo nodo de la pila:
Pila->siguiente.
3.Guardamos el contenido del nodo para devolverlo como
retorno, recuerda que la operación pop equivale a leer y
borrar.
4.Liberamos la memoria asignada al primer nodo, el que
queremos eliminar.
Si la pila sólo tiene un nodo, el proceso sigue siendo válido, ya que el
valor de Pila->siguiente es NULL, y después de eliminar el último nodo la
pila quedará vacía, y el valor de Pila será NULL.
Pop, leer y eliminar un elemento.
Ahora sólo existe un caso posible, ya que
sólo podemos leer desde un extremo de la
pila.
Partiremos de una pila con uno o más
nodos, y usaremos un puntero auxiliar,
nodo:

1.Hacemos que nodo apunte al primer elemento de la pila,
es decir a Pila.
2.Asignamos a Pila la dirección del segundo nodo de la pila:
Pila->siguiente.
3.Guardamos el contenido del nodo para devolverlo como
retorno, recuerda que la operación pop equivale a leer y
borrar.
4.Liberamos la memoria asignada al primer nodo, el que
queremos eliminar.
Si la pila sólo tiene un nodo, el proceso sigue siendo válido, ya que el
valor de Pila->siguiente es NULL, y después de eliminar el último nodo la
pila quedará vacía, y el valor de Pila será NULL.

Más contenido relacionado

La actualidad más candente

Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
Marialix Quintero
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
charlezgt
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130
reyarturo16
 
Lectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosLectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivos
danilo95parra
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617
Johannadotel
 
Bibliotecas en c
Bibliotecas en cBibliotecas en c
Bibliotecas en c
demata
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
iventura26
 
Programación C++
Programación C++Programación C++
Programación C++
Juan Islas
 
Fcyp control i
Fcyp control iFcyp control i
Fcyp control i
Victor Candia Menares
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
mariajuly
 
Act 01
Act 01Act 01
Act 01
brando soto
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
Alex Pin
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
Elias Peña
 
Librerias ansi c
Librerias ansi cLibrerias ansi c
Librerias ansi c
Nestor Lagunez Caramon
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
Mago Julio Cesar
 
Tipos de datos entrada y salida
Tipos de datos entrada y salidaTipos de datos entrada y salida
Tipos de datos entrada y salida
Brahyan Marquez
 
Listas
ListasListas
Listas
pedreror1
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
Darwin Rodríguez Leclerc
 

La actualidad más candente (18)

Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130
 
Lectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosLectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivos
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617
 
Bibliotecas en c
Bibliotecas en cBibliotecas en c
Bibliotecas en c
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
Programación C++
Programación C++Programación C++
Programación C++
 
Fcyp control i
Fcyp control iFcyp control i
Fcyp control i
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
 
Act 01
Act 01Act 01
Act 01
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Librerias ansi c
Librerias ansi cLibrerias ansi c
Librerias ansi c
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Tipos de datos entrada y salida
Tipos de datos entrada y salidaTipos de datos entrada y salida
Tipos de datos entrada y salida
 
Listas
ListasListas
Listas
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
 

Similar a Pilas

pila cola arboles
pila cola arbolespila cola arboles
pila cola arboles
mavaresesdras
 
Estructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje cEstructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje c
CarlosRamsesGp
 
Clase De Colas
Clase De ColasClase De Colas
Clase De Colas
maria alejandra
 
Algoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colasAlgoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colas
VivianaParraga3
 
Examen De Estructura De Datos
Examen De Estructura De DatosExamen De Estructura De Datos
Examen De Estructura De Datos
vanessa peñafiel
 
UNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{IUNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{I
JULIO
 
Gilmora
GilmoraGilmora
Gilmora
gilmorak56
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
DĴäîřo Lêmä
 
Implementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxImplementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptx
Rafael nin
 
PILAS
PILASPILAS
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
Anthony Alexis Ic Pamplona
 
Pila simple
Pila simplePila simple
Pila simple
ruben-dariooo
 
6-Pilas.pdf
6-Pilas.pdf6-Pilas.pdf
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
mercy
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
Jhon_Marjorie
 
estructura lineales
estructura linealesestructura lineales
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
marioUitzil
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
efrain_rap
 
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)
Cesar Emill Camacho Rodriguez
 
Pilas Dylan Medina.pdf
Pilas Dylan Medina.pdfPilas Dylan Medina.pdf
Pilas Dylan Medina.pdf
DylanMedina4
 

Similar a Pilas (20)

pila cola arboles
pila cola arbolespila cola arboles
pila cola arboles
 
Estructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje cEstructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje c
 
Clase De Colas
Clase De ColasClase De Colas
Clase De Colas
 
Algoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colasAlgoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colas
 
Examen De Estructura De Datos
Examen De Estructura De DatosExamen De Estructura De Datos
Examen De Estructura De Datos
 
UNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{IUNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{I
 
Gilmora
GilmoraGilmora
Gilmora
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Implementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxImplementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptx
 
PILAS
PILASPILAS
PILAS
 
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
 
Pila simple
Pila simplePila simple
Pila simple
 
6-Pilas.pdf
6-Pilas.pdf6-Pilas.pdf
6-Pilas.pdf
 
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
estructura lineales
estructura linealesestructura lineales
estructura lineales
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
 
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 Dylan Medina.pdf
Pilas Dylan Medina.pdfPilas Dylan Medina.pdf
Pilas Dylan Medina.pdf
 

Último

Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 

Último (20)

Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 

Pilas

  • 2. Definicion. La pila es una estructura de datos (similar a una pila de platos) que permite almacenar datos en el orden LIFO (Last In First Out) en español, último en entrar, primero en salir). La recuperación de los datos es hecha en el orden inverso de su inserción.
  • 3. Una pila es un tipo especial de lista abierta en la que sólo se pueden insertar y eliminar nodos en uno de los extremos de la lista. Estas operaciones se conocen como "push" y "pop", respectivamente "empujar" y "tirar". Además, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído.
  • 4. Declaraciones de tipos para manejar pilas en C. El nodo típico para construir pilas struct _nodo { int dato; struct nodo *siguiente; }; Es muy importante que nuestro programa nunca pierda el valor del puntero al primer elemento, igual que pasa con las listas abiertas. Los tipos que definiremos normalmente para manejar pilas serán casi los mismos que para manejar listas, tan sólo cambiaremos algunos nombres: typedef struct _nodo { int dato; struct _nodo *siguiente; }tipoNodo; typedef tipoNodo *pNodo; typedef tipoNodo *Pila; *tipoNodo es el tipo para declarar nodos, evidentemente. *pNodo es el tipo para declarar punteros a un nodo.
  • 6. Operaciones básicas. Las pilas tienen un conjunto de operaciones muy limitado, sólo permiten las operaciones de "push" y "pop": *Push: Añadir un elemento al final de la pila. *Pop: Leer y eliminar elemento del final de la pila. Las operaciones con pilas son muy simples, no hay casos especiales, salvo que la pila esté vacía. un
  • 7. Push en una pila vacía Partiremos de que ya tenemos el nodo a insertar y, por supuesto un puntero que apunte a él, además el puntero a la pila valdrá NULL: El proceso es bastará con que: muy 1.nodo->siguiente NULL. 2.Pila apunte a nodo. simple, apunte a
  • 8. Push en una pila NO vacía Podemos considerar el caso anterior como un caso particular de éste, la única diferencia es que podemos y debemos trabajar con una pila vacía como con una pila normal. De nuevo partiremos de un nodo a insertar, con un puntero que apunte a él, y de una pila, en este caso no vacía: El proceso sigue siendo muy sencillo: 1. Hacemos que nodo>siguiente apunte a Pila. 2. Hacemos que Pila apunte a nodo.
  • 9. Pop, leer y eliminar un elemento. Ahora sólo existe un caso posible, ya que sólo podemos leer desde un extremo de la pila. Partiremos de una pila con uno o más nodos, y usaremos un puntero auxiliar, nodo: 1.Hacemos que nodo apunte al primer elemento de la pila, es decir a Pila. 2.Asignamos a Pila la dirección del segundo nodo de la pila: Pila->siguiente. 3.Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación pop equivale a leer y borrar. 4.Liberamos la memoria asignada al primer nodo, el que queremos eliminar. Si la pila sólo tiene un nodo, el proceso sigue siendo válido, ya que el valor de Pila->siguiente es NULL, y después de eliminar el último nodo la pila quedará vacía, y el valor de Pila será NULL.
  • 10. Pop, leer y eliminar un elemento. Ahora sólo existe un caso posible, ya que sólo podemos leer desde un extremo de la pila. Partiremos de una pila con uno o más nodos, y usaremos un puntero auxiliar, nodo: 1.Hacemos que nodo apunte al primer elemento de la pila, es decir a Pila. 2.Asignamos a Pila la dirección del segundo nodo de la pila: Pila->siguiente. 3.Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación pop equivale a leer y borrar. 4.Liberamos la memoria asignada al primer nodo, el que queremos eliminar. Si la pila sólo tiene un nodo, el proceso sigue siendo válido, ya que el valor de Pila->siguiente es NULL, y después de eliminar el último nodo la pila quedará vacía, y el valor de Pila será NULL.

Notas del editor

  1. {}