SlideShare ist ein Scribd-Unternehmen logo
1 von 15
PilasPilas
REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DE EDUCACIÓN SUPERIOR
UNIVERSIDAD BOLIVARIANA DE VENEZUELA
SEDE: FALCÓN
PFG: INFORMÁTICA PARA LA GESTIÓN SOCIAL
U.C: PROG. Y ESTRUCTURA DE DATOS.
PROFESORA: LIC. BEATRIZ BARRIOS
Punto Fijo, junio de 2006
Concepto de Pila
Es un tipo especial de lista lineal en la que la
inserción y borrado de elementos se realiza sólo por un
extremo que se denomina cima o tope.
Es una estructura con numerosas analogías en
la vida real: una pila de platos, una pila de libros, una
pila de monedas, entre otras.
Ejemplo 1:
Novela
Novela
Enciclopedia
Enciclopedia
Diccionario
Diccionario
Agregar un nuevo
elemento
Eliminar un
elemento
Cima
Fondo
Novela
Enciclopedia
Diccionario
Aplicaciones
 Los editores de texto proporcionan normalmente un
botón deshacer que cancela las operaciones de
edición recientes y restablece el estado anterior del
documento. La secuencia de operaciones recientes
se mantiene en una Pila.
 Los navegadores permiten habitualmente volver
hacia atrás en la secuencia de páginas visitadas.
Las direcciones de los sitios visitados se almacenan
en una Pila.


5+2 – (3+4)
Operaciones Básicas de Manipulación
 Apilar: Añade un nuevo elemento a la pila, el cual se ubicará en la cima de
pila.
 Desapilar: Elimina un elemento situado en la cima de la Pila. Luego de
desapilar existirá una nueva cima.
 Inicializar Pila: Inicia la pila como vacía.
 Pila Vacía: Comprobar si la pila no tiene elementos.
 Pila Llena: Comprobar si la pila está llena de elementos. Si se encuentra
llena no se pueden apilar nuevos elementos.
 Cima: Obtiene el elemento cima de la pila.
Pila Vacía
CIMA E3 CIMA E4
CIMA E2 E2 CIMA E2 E2
CIMA E1 E1 E1 E1 E1
APILAR APILAR APILAR APILARDESAPILAR
El tipo Pila implementado con Arrays.
Una Pila se puede implementar mediante arrays o mediante listas
enlazadas. Una implementación estática se realiza utilizando un array de
tamaño fijo y una implementación dinámica mediante una lista enlazada.
El tipo Pila implementado con arrays incluye una lista (array) y un
índice a la cima de la Pila; además, una constante con el máximo número de
elementos. Al utilizar un array para contener los elementos de la pila hay que
tener en cuenta que el tamaño de la pila no puede exceder el número de
elementos del array, y la condición pila llena será significativa para el diseño.
Ejemplo 2: Una pila de 6 elementos se puede representar gráficamente así:
0 1 2 3 4 5
Cima
Pila vacía:
puntero de
la pila=-1
Puntero de
la Pila
Pila llena:
puntero de
a pila=5
El tipo Pila implementado con Arrays.
(Cont...)
A B C ...
Índice
Si se almacenan los datos A, B, C, . . . , en la Pila se puede representar
gráficamente de alguna de estas formas:
C
B
A
Cima = 2
La Pila en función de diferentes situaciones de un posible programa.
...
50 ...
50 25 ...
50
Pila vacía
Cima=-1
Insertar 50
Cima=-0
Insertar 25
Cima= 1
Quitar (Cima)
Cima=-0
El tipo Pila implementado con Arrays.
(Cont...)
Sintaxis:
#define TAMPILA 100
Tipo de dato Nombre Vector [TAMPILA];
Int cima;
Ejemplo:
#define TAMPILA 100
int pila [TAMPILA];
int cima;
DeclaraciónDeclaración
El tipo Pila implementado con Arrays.
(Cont...)
Implementación de las operacionesImplementación de las operaciones
Apilar:
Incrementa la cima de la Pila en 1 y asigna el nuevo elemento a la
lista de la Pila. Cualquier intento de añadir un elemento en una
pila llena produce un mensaje de error de desbordamiento pila y
debe terminar el programa.
void apilar ( int n )
{
if ( pilallena() = = true )
cout<< “Pila LLena”;
else
{
cima + +;
pila[cima]=n;
}
}
El tipo Pila implementado con Arrays.
(Cont...)
Implementación de las operacionesImplementación de las operaciones
Desapilar:
Copia primero el valor de cima de la Pila en una variable local auxiliar, y a
continuación decrementa la cima de la Pila en 1. El objetivo de la
operación es retirar el elemento cima, no obstante la función devuelve la
variable auxiliar para que pueda sr utilizada. Si se intenta eliminar o borrar
un elemento en una pila vacía se debe producir un mensaje de error y
terminar. int desapilar ( void )
{
int aux;
if ( pilavacia() = = true )
cout<< “Pila Vacia”;
else
{
aux=pila[cima];
cima- -;
return aux;
}
}
El tipo Pila implementado con
Arrays. (Cont...)
Implementación de las operacionesImplementación de las operaciones
Cima:
Devuelve el elemento que se encuentra en la cima de la Pila: no se
modifica la Pila.
int cima ( void )
{
return pila[cima];
}
El tipo Pila implementado con
Arrays. (Cont...)
Operaciones de verificación del estado de la PilaOperaciones de verificación del estado de la Pila
Pila Vacía:
Verifica se la cima de la Pila es -1. En ese caso, la pila está vacía y se
devuelve un 1 (verdadero), en caso contrario, devuelve ceo (falso).
int pilavacia ( void )
{
if ( cima==-1 )
return 1;
else
return 0;
}
El tipo Pila implementado con
Arrays. (Cont...)
Operaciones de verificación del estado de la PilaOperaciones de verificación del estado de la Pila
Pila Llena:
Verifica si la cima es TAMPILA-1. En ese caso la pila está llena y se
devuelve un 1 (verdadero) en caso contrario, se devuelve 0 (falso).
int pilallena ( void )
{
if ( cima==TAMPILA-1 )
return 1;
else
return 0;
}
El tipo Pila implementado con
Arrays. (Cont...)
Operaciones de verificación del estado de la PilaOperaciones de verificación del estado de la Pila
Inicializar Pila:
Vacía íntegramente la Pila, para lo que pone cima al valor que se
corresponda con Pila Vacía (-1).
void inicializarpila ( void )
{
cima=-1;
}
Ejercicio 1.
Escribir un programa que cree una pila de enteros y realice
operaciones de apilar y desapilar,
Desarrolle un programa que permita conocer si una pila está llena o
está vacía
Desarrolle un programa que permita calcular el cuadrado de los
elementos de una pila y guardar los resultados en una segunda pila

Weitere ähnliche Inhalte

Was ist angesagt? (17)

Dionely torres 11 1150
Dionely torres 11 1150Dionely torres 11 1150
Dionely torres 11 1150
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
10. aplicaciones de las pilas
10. aplicaciones de las pilas10. aplicaciones de las pilas
10. aplicaciones de las pilas
 
Saiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosaSaiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosa
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Pila dinamica y pila estatica
Pila dinamica y pila estaticaPila dinamica y pila estatica
Pila dinamica y pila estatica
 
Tema - Pilas
Tema  - PilasTema  - Pilas
Tema - Pilas
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
PILAS
PILASPILAS
PILAS
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Pilas
PilasPilas
Pilas
 
Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
Codigo para implementar pilas en java
Codigo para implementar pilas en javaCodigo para implementar pilas en java
Codigo para implementar pilas en java
 

Ähnlich wie Pilasen c++ (20)

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
 
Pilas .pptx
Pilas .pptxPilas .pptx
Pilas .pptx
 
Pilas Dylan Medina.pdf
Pilas Dylan Medina.pdfPilas Dylan Medina.pdf
Pilas Dylan Medina.pdf
 
DECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdfDECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdf
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 
Pilas Struct
 Pilas Struct Pilas Struct
Pilas Struct
 
S6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colasS6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colas
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
PILAS
PILASPILAS
PILAS
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
Colas, filas
Colas, filasColas, filas
Colas, filas
 
Colecciones en Scala
Colecciones en ScalaColecciones en Scala
Colecciones en Scala
 
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
 

Kürzlich hochgeladen

RENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.ppt
RENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.pptRENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.ppt
RENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.pptadministracion46
 
2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptxRicardo113759
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxmarlonrea6
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmisssusanalrescate01
 
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxsenati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxnathalypaolaacostasu
 
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESCULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESMarielaAldanaMoscoso
 
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdfSENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdfJaredQuezada3
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHkarlinda198328
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGVTeresa Rc
 
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...MIGUELANGELLEGUIAGUZ
 
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptxADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptxRafaelSabido2
 
Analisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la RentaAnalisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la Rentamarbin6
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industralmaria diaz
 
S05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwww
S05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwwwS05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwww
S05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwwwssuser999064
 
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJODERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJOkcastrome
 
Fabricación de Cremas en Industria Farmacéutica
Fabricación de Cremas en Industria FarmacéuticaFabricación de Cremas en Industria Farmacéutica
Fabricación de Cremas en Industria FarmacéuticaGarcaGutirrezBryan
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónlicmarinaglez
 
implemenatcion de un data mart en logistica
implemenatcion de un data mart en logisticaimplemenatcion de un data mart en logistica
implemenatcion de un data mart en logisticaghgfhhgf
 
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxCORPORACIONJURIDICA
 

Kürzlich hochgeladen (20)

RENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.ppt
RENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.pptRENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.ppt
RENTAS_EXENTAS_Y_GASTOS_NO_DEDUCIBLES_ut.ppt
 
2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdf
 
CONCEPTO Y LÍMITES DE LA TEORÍA CONTABLE.pdf
CONCEPTO Y LÍMITES DE LA TEORÍA CONTABLE.pdfCONCEPTO Y LÍMITES DE LA TEORÍA CONTABLE.pdf
CONCEPTO Y LÍMITES DE LA TEORÍA CONTABLE.pdf
 
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxsenati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
 
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESCULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
 
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdfSENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGV
 
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
 
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptxADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
 
Analisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la RentaAnalisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la Renta
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 
S05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwww
S05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwwwS05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwww
S05_s2+Prueba+d.pdfsfeaefadwwwwwwwwwwwwwwwwwwwwwwwwww
 
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJODERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
 
Fabricación de Cremas en Industria Farmacéutica
Fabricación de Cremas en Industria FarmacéuticaFabricación de Cremas en Industria Farmacéutica
Fabricación de Cremas en Industria Farmacéutica
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociación
 
implemenatcion de un data mart en logistica
implemenatcion de un data mart en logisticaimplemenatcion de un data mart en logistica
implemenatcion de un data mart en logistica
 
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
 

Pilasen c++

  • 1. PilasPilas REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DE EDUCACIÓN SUPERIOR UNIVERSIDAD BOLIVARIANA DE VENEZUELA SEDE: FALCÓN PFG: INFORMÁTICA PARA LA GESTIÓN SOCIAL U.C: PROG. Y ESTRUCTURA DE DATOS. PROFESORA: LIC. BEATRIZ BARRIOS Punto Fijo, junio de 2006
  • 2. Concepto de Pila Es un tipo especial de lista lineal en la que la inserción y borrado de elementos se realiza sólo por un extremo que se denomina cima o tope. Es una estructura con numerosas analogías en la vida real: una pila de platos, una pila de libros, una pila de monedas, entre otras.
  • 3. Ejemplo 1: Novela Novela Enciclopedia Enciclopedia Diccionario Diccionario Agregar un nuevo elemento Eliminar un elemento Cima Fondo Novela Enciclopedia Diccionario
  • 4. Aplicaciones  Los editores de texto proporcionan normalmente un botón deshacer que cancela las operaciones de edición recientes y restablece el estado anterior del documento. La secuencia de operaciones recientes se mantiene en una Pila.  Los navegadores permiten habitualmente volver hacia atrás en la secuencia de páginas visitadas. Las direcciones de los sitios visitados se almacenan en una Pila.   5+2 – (3+4)
  • 5. Operaciones Básicas de Manipulación  Apilar: Añade un nuevo elemento a la pila, el cual se ubicará en la cima de pila.  Desapilar: Elimina un elemento situado en la cima de la Pila. Luego de desapilar existirá una nueva cima.  Inicializar Pila: Inicia la pila como vacía.  Pila Vacía: Comprobar si la pila no tiene elementos.  Pila Llena: Comprobar si la pila está llena de elementos. Si se encuentra llena no se pueden apilar nuevos elementos.  Cima: Obtiene el elemento cima de la pila. Pila Vacía CIMA E3 CIMA E4 CIMA E2 E2 CIMA E2 E2 CIMA E1 E1 E1 E1 E1 APILAR APILAR APILAR APILARDESAPILAR
  • 6. El tipo Pila implementado con Arrays. Una Pila se puede implementar mediante arrays o mediante listas enlazadas. Una implementación estática se realiza utilizando un array de tamaño fijo y una implementación dinámica mediante una lista enlazada. El tipo Pila implementado con arrays incluye una lista (array) y un índice a la cima de la Pila; además, una constante con el máximo número de elementos. Al utilizar un array para contener los elementos de la pila hay que tener en cuenta que el tamaño de la pila no puede exceder el número de elementos del array, y la condición pila llena será significativa para el diseño. Ejemplo 2: Una pila de 6 elementos se puede representar gráficamente así: 0 1 2 3 4 5 Cima Pila vacía: puntero de la pila=-1 Puntero de la Pila Pila llena: puntero de a pila=5
  • 7. El tipo Pila implementado con Arrays. (Cont...) A B C ... Índice Si se almacenan los datos A, B, C, . . . , en la Pila se puede representar gráficamente de alguna de estas formas: C B A Cima = 2 La Pila en función de diferentes situaciones de un posible programa. ... 50 ... 50 25 ... 50 Pila vacía Cima=-1 Insertar 50 Cima=-0 Insertar 25 Cima= 1 Quitar (Cima) Cima=-0
  • 8. El tipo Pila implementado con Arrays. (Cont...) Sintaxis: #define TAMPILA 100 Tipo de dato Nombre Vector [TAMPILA]; Int cima; Ejemplo: #define TAMPILA 100 int pila [TAMPILA]; int cima; DeclaraciónDeclaración
  • 9. El tipo Pila implementado con Arrays. (Cont...) Implementación de las operacionesImplementación de las operaciones Apilar: Incrementa la cima de la Pila en 1 y asigna el nuevo elemento a la lista de la Pila. Cualquier intento de añadir un elemento en una pila llena produce un mensaje de error de desbordamiento pila y debe terminar el programa. void apilar ( int n ) { if ( pilallena() = = true ) cout<< “Pila LLena”; else { cima + +; pila[cima]=n; } }
  • 10. El tipo Pila implementado con Arrays. (Cont...) Implementación de las operacionesImplementación de las operaciones Desapilar: Copia primero el valor de cima de la Pila en una variable local auxiliar, y a continuación decrementa la cima de la Pila en 1. El objetivo de la operación es retirar el elemento cima, no obstante la función devuelve la variable auxiliar para que pueda sr utilizada. Si se intenta eliminar o borrar un elemento en una pila vacía se debe producir un mensaje de error y terminar. int desapilar ( void ) { int aux; if ( pilavacia() = = true ) cout<< “Pila Vacia”; else { aux=pila[cima]; cima- -; return aux; } }
  • 11. El tipo Pila implementado con Arrays. (Cont...) Implementación de las operacionesImplementación de las operaciones Cima: Devuelve el elemento que se encuentra en la cima de la Pila: no se modifica la Pila. int cima ( void ) { return pila[cima]; }
  • 12. El tipo Pila implementado con Arrays. (Cont...) Operaciones de verificación del estado de la PilaOperaciones de verificación del estado de la Pila Pila Vacía: Verifica se la cima de la Pila es -1. En ese caso, la pila está vacía y se devuelve un 1 (verdadero), en caso contrario, devuelve ceo (falso). int pilavacia ( void ) { if ( cima==-1 ) return 1; else return 0; }
  • 13. El tipo Pila implementado con Arrays. (Cont...) Operaciones de verificación del estado de la PilaOperaciones de verificación del estado de la Pila Pila Llena: Verifica si la cima es TAMPILA-1. En ese caso la pila está llena y se devuelve un 1 (verdadero) en caso contrario, se devuelve 0 (falso). int pilallena ( void ) { if ( cima==TAMPILA-1 ) return 1; else return 0; }
  • 14. El tipo Pila implementado con Arrays. (Cont...) Operaciones de verificación del estado de la PilaOperaciones de verificación del estado de la Pila Inicializar Pila: Vacía íntegramente la Pila, para lo que pone cima al valor que se corresponda con Pila Vacía (-1). void inicializarpila ( void ) { cima=-1; }
  • 15. Ejercicio 1. Escribir un programa que cree una pila de enteros y realice operaciones de apilar y desapilar, Desarrolle un programa que permita conocer si una pila está llena o está vacía Desarrolle un programa que permita calcular el cuadrado de los elementos de una pila y guardar los resultados en una segunda pila