miércoles, 23 de octubre de 2013



Operaciones entre Listas Enlazadas.




Figura numero 4

Se logro aprender en esta clase los diferentes métodos que se pueden realizar en una lista enlazada simple y doble primeramente explicare el primer algoritmo aprendido, insertar al inicio en una lista simple.
Podemos decir que insertar al inicio es una instrucción.
Figura numero 4.1
En la figura numero 4.1 se muestra una ilustración sobre lo que se quiere realizar en una inserción al inicio, se necesita que la variable de referencia p apunte al nuevo nodo y en la parte sig de este apunte al nodo que anteriormente era el primero, esto se realiza mediante la siguiente instrucción. P = new Nodo (dato,p);
Insertar al inicio con nodo doble.

Figura numero 4.2
En la figura numero 4.2 se ve reflejado lo que se requiere para realizar una inserción al inicio con nodo doble, para realizar esto es realizado mediante el siguiente algoritmo.

if(p!=null){
p.setAnt(new NodoDoble(dato,null,p));
p= p.getAnt();
} else {
p=new NodoDoble(dato,null,null);
}

primero se valida si la lista se encuentra sin nodos, en caso de que sea verdadero se realiza la inserción al inicio y se actualiza la variable de referencia p ahora apuntara al nuevo nodo que se creo, en caso de que la condición no se cumpla quiere decir que es el primer nodo doble que se va ha insertar en la lista. 

Simple insertar al final. 

para insertar un nodo al final de una lista enlazada es necesario realizar el siguiente algoritmo. Como también es de vital importancia tener la dirección o referencia del ultimo nodo de la lista, la cual en el algoritmo la denominamos q.

If (q!=null){     
q.setSig (new  Nodo(x, null));    
q=q.getSig ();   
} else {
p=q=new  Nodo(x, null);   
}

 se valida si la lista esta vacía, se crea el nodo y la dirección de el se le asigna al nodo que anteriormente era el último,  a la variable de referencia q se le asigna el valor del ultimo nodo, en caso de que la lista este en estado null es porque es el primer nodo que se va a insertar.

En la Figura Numero 4 se hace una representación de como debe quedar una inserción simple al final.

Doble; insertar al final.

Para insertar un nuevo nodo en una lista doble enlazada al final de esta, se realiza mediante el siguiente algoritmo. Parecido a la inserción al final de una lista simple.

If (q!=null){
q.setSig (new NodoDoble(x, q, null));
q=q.getSig ();
} else {
p=q=new NodoDoble(x, null, null);
}

Simple; Insertar Antes de.

Para insertar un nodo  en una lista simple enlazada antes de otro nodo ay que cumplir con una condición la cual es que la lista ya tenga datos almacenados, y para realizar esto es mediante el siguiente algoritmo.

If (p!=null) {
If (p!=r) {
s.setSig (new Nodo (y, r));
s=s.setSig ();
} else {
p=new Nodo (y, p);
}
 
Apreciaciones importantes y reflexión:

Estas instrucciones que se expuso anteriormente fueron de vital importancia para conocer mas sobre la clase Nodo y NodoDoble, saber que validación son las necesarias para que estas instrucciones puedan funcionar correctamente.

No hay comentarios:

Publicar un comentario