80 likes | 416 Views
“Buenos Cristianos y honrados ciudadanos”. Abstracción de Datos y Estructuras dinámica de datos. Estructuras de Datos. Tipo de Dato Abstracto TDA Pila. Jornada de clase 10. Ing. Joe F. Llerena I. Estructuras de datos: Pila. Extremo superior.
E N D
“Buenos Cristianos y honrados ciudadanos” Abstracción de Datos y Estructuras dinámica de datos. Estructuras de Datos Tipo de Dato AbstractoTDA Pila Jornada de clase 10 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 poneren 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 Meter Sacar B B Tope Tope A A A Tope Tope Tope Push Push Pop Inicio
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 Pila Vacía Pila Vacía D Tope C Tope B B Tope Tope A A A 0 Tope Tope Tope -1 Tope Inicio Inicio Inicio Inicio