Sie sind auf Seite 1von 12

 HANCCO QUENAYA ELVIS

 HUARSAYA NINA JORCH

 HUMIRE MACHACA DANIEL


 Pilas
 Definición
 Implementación usando arreglos
 Ejemplos de aplicación
 Colas
 Definición
 Implementación usando arreglos
 Ejemplos de aplicación
 Su nombre se deriva de la
metáfora de una pila de Entra Sale

platos en una cocina.


 La inserción y extracción Tope

de elementos de la pila
siguen el principio LIFO
(last-in-first-out).
 El último elemento en
entrar es el único accesible
en cada momento.
 Las operaciones básicas de una pila son “push”
(empujar, meter) y “pop” (sacar)
 Push: añade un nuevo elemento a la pila
 Pop: elimina un elemento de la pila
 Otras operaciones usualmente incluidas en el
tipo de dato abstracto pila son:
 isEmpty (estáVacia): verifica si la pila está vacía
 isFull (estáLlena): verifica si la pila está llena
1 4

1 1 1 1 1

4 4 4 4 4 4

push(4) push(1) push(1) pop() push(4) pop()


 Una pila es una #define STACKSIZE 100
colección ordenada de struct Stack{
objetos. int top;
int nodes[STACKSIZE];
 En C, los arreglos };
permiten almacenar struct Stack *create_stack
colecciones ordenadas. (struct Stack *ps) {
ps = (struct Stack *)
 La desventaja de malloc(sizeof(struct Stack));
implementar una pila ps->top=-1;
mediante un arreglo es return ps;
}
que esta última es de
tamaño fijo, mientras main(){
que la pila es de tamaño struct Stack *ps;
ps=create_stack(ps);
dinámico. :
}
PUSH POP

void push(struct Stack* ps, int i) { int pop(struct Stack *ps) {


if (ps->top == (STACKSIZE -1)) if (ps->top== -1)
printf(“Full stack\n"); printf(“Empty stack\n");
else { else {
ps->top++; int t= ps->nodes[ps-> top];
ps->nodes[ps->top] = i; ps->top--;
} return t;
} }
}
 Navegador Web
 Se almacenan los sitios previamente visitados
 Cuando el usuario quiere regresar (presiona el botón
de retroceso), simplemente se extrae la última
dirección (pop) de la pila de sitios visitados.
 Editores de texto
 Los cambios efectuados se almacenan en una pila
 Usualmente implementada como arreglo
 Usuario puede deshacer los cambios mediante la
operación “undo”, la cual extraer el estado del texto
antes del último cambio realizado.
 Su nombre se deriva de la
metáfora de una cola de Entra

personas en una taquilla.


cola
 La inserción y extracción
de elementos de la cola
siguen el principio FIFO
(first-in-first-out).
 El elemento con más frente

tiempo en la cola es el que


puede ser extraído. Sale
 Las operaciones básicas de una cola son
“enqueue” (meter) y “dequeue” (sacar)
 enqueue: añade un nuevo elemento a final de la cola
 dequeue: elimina (saca) el primer elemento de la cola
 Otras operaciones usualmente incluidas en el
tipo abstracto COLA son:
 isEmpty (estáVacia): verifica si la cola está vacía
 isFull (estáLlena): verifica si la cola está llena
a a

a b a b

a b c a b c

b c b c

No es necesario mover Apuntadores al frente


todos los elementos y a la cola

Das könnte Ihnen auch gefallen