Monday, October 13, 2008

Estructuras lineales estaticas i dinamicas

-----Pila-------

tope=top va guardando la posicion del ultimo elemento
***(el tope empieza con -1 la primera vez)

Es un conjunto ordenado de elementos en el cual se pueden agregar y eliminar datos con uno de sus extremos llamado tope de la pila.
La pila es una estructura de datos Lifo porke el ultimo dato ke se inserta es el primero que se elimina.

LIFO: last in-first out


=operaciones en una pila=

1-Push: Es el metodo atraves del cual se va a agregar un dato nuevo a la fila tomando en cuenta la capacidad maximade almacenar de la estructura.

Algoritmo:
Push(Pila, Top, Max,Elemento)
Si Top != Max-1 entonces
Top<- Top+1
Pila[Top]<- elemento
si no
IMPRIMIR "la pila esta llena"

pila top elemento

0 9 3 7
1 7 k4 k8
2 10
+
3 8
4 3

3!=4
2+1+3
pila[3]=8, pila[4]=3


2-Pop(eliminar): es el metodo por el cual se va a eliminar el ultimo dato de la pila basandose en la posicion de top.Si no hay elementos en la pila desplegara el mensaje la pila esta vacia.

Algoritmo

Pop(pila, Top)
***4!=-1
Si top!=Nulo(-1) entonces
imprimir "elemento:", pila[top3],"sera eliminado"

Pila[top]<- 0
top<-top-1
si no
imprimir "la pila esta vacia"
salir.

MENU OPERACIONES EN UNA PILA
1.- Insertar datos en la pila
2.-Eliminar datos en la pila
3.- Desplegar datos de la pila
4.-Buscar datos en la pila
5.-Fin del programa

Caracteristicas del programa
1.- top inicializa con -1 al iniciar el programa
2.- Pedir el tamaño maximo de la pila y enviarlo al constructor para establecer el tamaño maximo de la pila.
3.-Pedir desde el menu el dato a insertar y enviarlo como parametro al metodo al metodo push.
4.-Hacer el programa que maneje datos de tipo double y de tipo string.

Continuacion operaciones en una pila

3.-Recorrido:


Es el metofo atravez del cual se hace un recorrido a la pila para desplegar los elemento apartir de la posicion del tope de la pila y se repite hasta que la variable auxiliar sea igual a nulo (-1).

Algoritmo
Recorrido (pila, top)
si top!= nulo(-1) entonces
apuntador<- top
repetir mientras apuntador!=nulo
imptrimir "elemento", Pila[apuntador], "posicion:", apuntador
Apuntador<-apuntador-1
fin del ciclo
si no
imprimir "la pila esta vacia"
salir


Pila Top
0 10 3
1 9
2 8
3 7
4
5

3!=-1
var
ap=3
3!=-1 2!=-1 1!=-1
pila[3] 7,8,9
ap=3-1=2 2-1=1 1-1=0 0-1=-1
la pila esta vacia.




4.- Busqueda. Es el metodo que se utiliza para localizar un elemento en particular en la pila. Si esta resulta exitosa desplegara el elemento y la posicion en el que se encuentra, si no, desplegara el mensaje de que el elemneto no fue encontrado.
Algoritmo
busqueda(pila, top, element)
si top!=nulo(-1) entonces
apuntador<- top
repetir mientras apuntador !=nulo
si pila[apuntador]=elemento entonces
imprimir "el dato", "elemento", "fue encontrando en la posicion", apuntador
y salir
si no
apuntador<-apuntador-1
fin del ciclo
imprimir "dato", elemento, "no esta en la pila"
si no
imprimir "la pila esta vacia"
salir.

ejemplo:

elemento 8
ap=3
3!=-1 2!=1
pila[3]=8, 7=8x pila[0]=8, 8=8
elemento+8, apuntado=2
ap=3-1=2
elemento=5
la pila esta vacia.

No comments: