You are on page 1of 5

Estructura de Datos

Analisis de Algoritmos

Jorge Videla Araya

Instututo IACC

12/febrero/2018
Desarrollo

Las pilas son estructuras de datos de construcción lógica que permiten que se realicen

ciertas operaciones sobre ellas. Las pilas pueden construirse utilizando arreglos y tendrán

las mismas limitantes de estos al momento de funcionar.

Ya que las pilas funcionan como depósitos de datos, donde el último dato en entrar es el

primero en salir, y tomando en cuenta que el primer espacio dentro de la pila apunta hacia

una dirección nula o vacía, la forma más simple de contar los elementos dentro de la pila

seria ir desapilandolos de uno a uno hasta llegar al elemento que apunta hacia null, de esta

manera obtendríamos el total de datos existentes dentro de la pila. Obviamente las pilas

como estructuras de datos ya implementan una función count que retorna automáticamente

el número de elementos presentes dentro de la pila.

Un ejemplo de esta función seria:

Void contar(struct nodopila ** tope)


{Struct nodopila * auxiliar;
Int Contador = 0;
If (*tope==nulo)
{ echo “la pila esta vacia”;
}
Else
}auxiliar=*tope;
While(auxiliar!=nulo)
{auxiliar=auxiliar=>siguiente;
Contador++;
}
}
Echo “el numero de elementos de la pila es “;contador;
}
b.- Para mover el tren desde el anden “A” hasta el anden “C” conservando su posicion
inicial, haremos uso de las estructuras de datos, en este caso de una pila. En una pila el
ultimo elemento en entrar es el primero en salir. De esta manera usando una pila podremos
invertir el orden del tren. Partimos con que el primer elemnto es la locomotora, el segundo
es el vagon “1”, el tercero es el vagon “2” y asi sucesivamente hasta llegar al vagon “4”,
que sera el ultimo elemento en ser insertado en la pila. Luego procederemos a desapilar el
contenido de nuestra pila, posicionando los elementos extraidos en el anden “C”. Dado que
trabajamos con una pila el priemr elemento a extraer sera el vagon “4”, posteriormente
extraemos el vagon “3” y asi sucesivamente hasta llegar a la locomotora.
Se podrian constrir las siguientes funciones:
Funcion push meter un dato en la pila:

inicio
si p = LargoTotal

entonces
escribir ‘pila llena’

sino

p  p+1

S(p)x fin_si

fin

Sacar los elementos de la pila y ponerlos en “ANDEN C”

inicio

si p = 0 … con p como valor del tope de pila

entonces
escribir ‘pila vacía’

sino

ANDEN C S(p)

p p-1

fin_si

fin
De esta manera y valiendonodos de las caracteristicas de las estructuras de datos podemos
manejar facilmente la informacion contenida dentro de ellas, ya sea inviertiendo su orden,
contando sus elementos o elminandolos.
Bibliografía
IACC. (2016). Estructuras de datos. Análisis de Algoritmos. Semana 1.

You might also like