Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
//funcin para
Algoritmo Pop
1 Hacemos que nodo apunte al primer
elemento de la pila, es decir a Pila
2 Asignamos a Pila la direccin del segundo
nodo de la pila: Pila ->siguiente
3 Guardamos el contenido del nodo para
devolver como retorno, la operacin pop
equivale a leer y borrar
4 Liberamos la memoria asignada al primer
nodo, el que queremos eliminar
nuevo->siguiente = *pila;
//Ahora, el comienzo de nuestra pila es
en nuevo nodo
*pila = nuevo;
}
{
pNodo nuevo;
//crear un nodo nuevo
nuevo = (pNodo)malloc(sizeof(tipoNodo));
nuevo -> valor = v;
//Aadimos a la pila continuacin del nuevo
pNodo nodo;
manipular nodo
int v;
retorno
nodo
nuevo->siguiente = *pila;
//Ahora, el comienzo de nuestra pila es en
nuevo nodo
pNodo nuevo;
*pila = nuevo;
nodo = *pila;
free (nodo);
free (nodo);
return v;
}
Leer Colas
1 Hacemos que nodo apunte a l primer
elemento de la cola, es decir a primero.
2 Asignamos a primero la direccin del segundo
nodo de la cola: primero -> siguiente
3 Guardamos el contenido del nodo para
devolver como retorno, la operacin de lectura
implica borrar el nodo
4 Liberamos la memoria asignada al primer
nodo, el que queremos eliminar
5 Si primero es NULL, haremos que ultimo
tambin apunte a NULL, ya que la cola habr
quedado vaca.
la cola
pNodo nodo;
//variable auxiliar para manipular nodo
nodo = *primero;
//borrar el nodo
int v;
//variable auxiliar para retorno
//si no hay
free (nodo);
v; }
//borrar el nodo
int v;
//variable auxiliar para retorno
v= nodo ->valor;
v= nodo ->valor;
if (!nodo) return 0;
nodos en la cola devuelve 0
if(!*primero) *ultimo=NULL;
return v; }
nodo = *primero;
if (!nodo) return 0; //si no hay nodos en la
cola devuelve 0
// Asignamos a primero la direccin del
segundo nodo
*primero = nodo -> siguiente;
if(*ultimo) (*ultimo)->siguiente =
nuevo;
*ultimo = nuevo;
// si el primero es NULL, la cola estaba vaca,
ahora primero apuntara tambin al nuevo nodo