“Buenos Cristianos y honrados ciudadanos”
Abstracción de Datos y
Estructuras dinámica de datos.
Tipo de Dato Abstracto
TDA Pila
Jornada de clase 10
Estructuras de Datos
Ing. Joe F. Llerena I.
Estructuras de datos:
Pila
Extremo superior
• Es un conjunto ordenado de
elementos en el cual se pueden
agregar y eliminar elementos en
un extremo, que es llamado el
tope de la pila.
• A diferencia del arreglo, la
definición de la pila considera la
inserción y eliminación de
elementos, por lo que una pila es
un objeto dinámico en constante
cambio.
• La definición específica que un
solo extremo de pila se designa
como el tope.
F
Tope
E
Tope
D
Tope
C
Tope
B
Tope
A
Tope
Una pila
de 6 elementos
Estructuras de datos:
Pila
• La estructura pila se asemeja
a una pila de libros.
• Imagine una pila de libros, al
poner uno, siempre se le
coloca en la parte superior, a
esto se le conoce como
poner en la pila.
• Al quitar un libro, siempre es
de la parte superior, a esto se
lo conoce como quitar de la
pila.
Libros apilados
Estructuras de datos:
Pila
Pila Vacía
Meter
A
Inicio
Push
Meter
Tope
Sacar
B
Tope
B
Tope
A
Tope
A
Tope
Push
Pop
Estructuras de datos:
Pila
• Pueden colocarse nuevos elementos en
el tope de la pila o se pueden quitar
elementos.
• La característica más importante de una
pila es que el último elemento
insertado en ella es el primero en
suprimirse.
• Por esta razón, se denomina una lista
“último en entrar, primero en salir” o
LIFO (last in, first out ).
Referencias Bibliográficas
• Estructuras de Datos con C y C++, Aaron
Tenenbaum.
• Cómo programar en C++, Deitel y Deitel.
• Estructuras de datos, Carlos A. Fernandez.
• Programación en Lenguaje C, Robert Pantigoso
Referencias Electrónicas
#include <stdio.h>
#include <conio.h>
void main( )
{
char nombre[100], *pnombre, resultado[10];
char *presultado;
pnombre = nombre;
presultado = resultado;
cout<<"Ingrese el nombre y apellido ";
gets(nombre);
*presultado++=pnombre[0];
//
*presultado++=*pnombre;
for( ; *pnombre==' '; pnombre++)
*presultado++ = *pnombre++;
/*
for( ; *pnombre ; pnombre++)
if ( *pnombre!=' '){
*presultado++ = *pnombre;
break;
}
*/
for( ; *pnombre ; pnombre++)
{
if (*pnombre == ' ')
if( *(pnombre+1)!=' ')
{
*presultado = *(pnombre+1);
presultado++;
}
}
*presultado = '\0';
printf("Las inciales son %s ",resultado);
getch();
}
Estructuras de datos:
Pila
Pila Vacía
Pila Vacía
A
-1
Inicio
Tope
0
Inicio
Pila Vacía
Tope
Pila Vacía
D
Tope
C
Tope
B
Tope
B
Tope
A
Tope
A
Tope
Inicio
Inicio
Descargar

tope