Estructuras de Datos
description
Transcript of Estructuras de Datos
Estructuras de DatosIng. Joe F. Llerena I.Ing. Joe F. Llerena I.
“Buenos Cristianos y honrados ciudadanos”
Tipo de Dato Abstracto
TDA Pila
Jornada de clase 10Jornada de clase 10
Abstracción de Datos y Estructuras dinámica de datos.
Estructuras de datos:
Pila• Es un conjunto ordenado de
elementos en el cual se pueden agregar y eliminar elementos en un extremo, que es llamado el tope 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.
A
B
C
D
E
F
Una pila Una pila de 6 elementosde 6 elementos
TopeTope
Extremo superior
TopeTope
TopeTope
TopeTope
TopeTope
TopeTope
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 ponerponer en la pila.
• Al quitar un libro, siempre es de la parte superior, a esto se lo conoce como quitarquitar de la pila.
Libros apilados
A
B
Estructuras de datos:
Pila
InicioInicio
Pila Vacía
A
PushPush
TopeTope
Meter
A
B
PushPush
TopeTope
Meter
TopeTope
PopPop
TopeTope
Sacar
TopeTope
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
InicioInicio
Pila Vacía
-1-1
A
InicioInicio
TopeTope
Pila Vacía
A
B
InicioInicio
TopeTope
Pila Vacía
TopeTope
A
B
C
D
InicioInicio
TopeTope
Pila Vacía
TopeTope
TopeTope
TopeTope
TopeTope
00