Escolar Documentos
Profissional Documentos
Cultura Documentos
PILAS
DEFINICION
Una pila es una lista de elementos a la cual se
puede insertar o eliminar elementos solo por uno
de los extremos, en consecuencia los elementos
de una pila seran eliminados en orden inverso al
que se insertaron, es decir el ultimo elemento en
insertar es el primero en salir.
Ejemplo, una pila de platos, pila de latas, etc
PILA
PILA
MAX
TOPE
.
. MAX
. 1 2 3 4
TOPE 4 444
111 222 333 444
.
.
.
3 333
2 222
1 111
ESTADOS DE LAS PILAS
PILA PILA PILA
MAX 9999 MAX MAX
. . .
. . .
. . .
4 444 4 444 4
3 333 3 333 3
2 222 2 222 2
1 111 1 111 1
.
.
.
1 2 3 4 N-1 N N+1 2N-1 2N
TOPE1 TOPE 2
Si en algn punto la pila1 necesitar ms de n espacio y
existiera espacio en la pila2 o viceversa, se procede a ocupar
el espacio sin caer en un error de desbordamiento
PILA 1 PILA 2
.
.
.
.
.
.
1 2 3 4 N N+1 N+3 2N-1 2N
TOPE1
TOPE 2
PILA 1 PILA 2
.
.
.
.
.
1 2 3 4 N-1 N N+2 . 2N-1 2N
TOPE1 TOPE 2
OPERACIONES CON PILAS
tope 5 5 5
viernes
4 juves tope 4 jueves 4 jueves
Tratamiento de expresiones
aritmticas
Ordenaciones
Llamadas a subprogramas
Cuando se llaman a
subprogramas internamente se
manejan las pilas para guardar el
estado de las variables del
programa en el momento que se
hace la llamada. As cuando
termina la ejecucin del
subprograma, los valores de la
pila se recuperan para continuar
la ejecucin y desde el punto en
que fue llamado, ejemplo:
PP
UNO DOS
TRES
Llamada a procedimientos
A) E) B) F) C) D)
MAX MAX MAX MAX
. . . .
. . . .
. . . .
5 5 5 5
4 4 4 4
3 3 3 3
2 2 2 tope 2 DOS
tope 1 1 tope 1 1
PP PP PP
Tope=0
SUBPROGRAMA P
SUBPROGRAMA P
Llamada a Q
SUBPROGRAMA P
LLAMA A P SUBPROGRAMA Q
Llamada a V
Llamada a Q
SUBPROGRAMA V
SUBPROGRAMA Q
Llamada a P
Llamada a P
Recursin directa
Recursin indirecta con 2 subprogramas
Y tres subprogramas
si_no
factorialrec=n* factorialrec(n-1) {llamada recursiva}
Fin_condicional
TRATAMIENTO DE EXPRESIONES
Dada la expresin A+B se dice que es notacin
Infija y se debe a que el operador (+) esta
entre los operandos A y B
Dada la expresin AB+ se dice que es notacin
Postfija, y se debe a que el operador (+) esta
despus de los operandos A y B
Dada la expresin +AB se dice que es notacin
Prefija, y se debe a que el operador (+) esta
antes de los operandos A y B
Ejemplo:
CONVERSION INFIJA-POSTFIJA
(x+Y)*W/T^Y-V
Postfija
(x+y)* W/TY^ -V PASO 1
Xy+*W/TY^-V PASO 2
XY+w*/TY^-V PASO 3
XY+W*TY^/-V PASO 4
XY+W*TY^/V- PASO 5
Ejemplo:
CONVERSION INFIJA-PREFIJA
(x+Y)*W/T^Y-V
PREFIJA
(X+Y)*W/^TY-V PASO 1
+XY*W/^TY-V PASO 2
*+XYW /^TY -V PASO 3
/*+XYW^TY -V PASO 4
-/*+XYW^TY V PASO 5