taller pilas y colas bien
Algoritmos y estructuras de datos II
Taller pilas y colas
Docente: Eliana Londoño
Este examen lo puede resolver en parejas
1. Se tiene una pila y se desea almacenar sus elementos en una listadoblemente ligada, de tal manera que el primer elemento de la lista sea el elemento cabeza de la pila. Escriba las funciones necesarias.
RECORRE-PILA (Pila, Top)
Apuntador ← -Top
Repetir mientrasApuntador diferente de Nulo
INICIALIZA-LISTA (Lista *lista)
LLENA-LISTA-DOB-LIGADA (lista ,Pila[Apuntador])
Apuntador ←- Apuntador - 1
Fin del ciclo
Salir RECORRE-PILA
INICIALIZA-LISTA (Lista *lista)Lista -> inicio= NULL
Lista -> Fin = NULL
Tamaño = 0
Salir INICIALIZA-LISTA
LLENA-LISTA-DOB-LIGADA (dl_lista * lista, char * dato)
dl_Elemento *nuevo_elemento;
if (dato == NULL)
return-1;
else
(nuevo_elemento->dato, dato);
nuevo_elemento->anterior = lista->inicio;
nuevo_elemento->siguiente = lista->fin;
lista->inicio = nuevo_elemento;
lista->fin = nuevo_elemento;lista->tamaño++;
return 0;
end if
SALIR LLENA-LISTA-DOB-LIGADA
2. Escriba el algoritmo para representar una PILA mediante LISTAS simplemente ligadas.
RECORRE-PILA (Pila, Top)
Apuntador ← -TopRepetir mientras Apuntador diferente de Nulo
INICIALIZA-LISTA (Lista *lista)
LLENA-LISTA-DOB-LIGADA (lista ,Pila[Apuntador])
Apuntador ←- Apuntador - 1
Fin del ciclo
Salir RECORRE-PILA
INICIALIZA-LISTA(Lista *lista)
Lista ->Data= NULL // el dato almacenado en el nodo
Lista -> apuntador = NULL // referencia al nodo siguiente
Salir INICIALIZA-LISTA
LLENA-LISTA-SIM-LIGADA (sl_lista * lista, char *dato)
if (dato == NULL)
return -1;
else
NODE == lista.primernodo
While dato is not null haga
Node.data== dato
Node.apuntador == apuntador
apuntador == ++
End whileReturn 0
Enf if
SALIR LLENA-LISTA-SIM-LIGADA
3. Dadas dos pilas, determinar si al sumar los elementos almacenados en ellas se obtienen resultados. Puede emplear cualquier estructura...
Regístrate para leer el documento completo.