tarea
ESTRUCTURAS DE DATOS
LISTAS ENLAZADAS CIRCULARES
Una lista circular es una lista lineal en la que el último nodo apunta al primero (no existe null).
cab
4
7
80
Al igual que en las listas enlazadas, para trabajar con listas circulares utilizaremos la clase Nodo, la clase
ListaC y la clase Prueba.
CLASE Nodo.
public class Nodo {
int info;
Nodoenlace;
public Nodo(int a)
{
info=a;
}
}
CLASE ListaC,
public class ListaC {
Nodo cab;
void insertar(int a){
if(cab==null){
cab=new Nodo(a);
cab.enlace=cab;
}
else{
Nodo temp=newNodo(a);
Nodo aux=cab;
while(aux.enlace!=cab)
aux=aux.enlace;
aux.enlace=temp;
temp.enlace=cab;
}
}
void mostrar(){
if(cab!=null){
Nodo aux=cab;
do
{
System.out.print(aux.info+" ");aux=aux.enlace;
}
while(aux!=cab);
}
}
}
INGENIERIA DE SISTEMAS
ESTRUCTURAS DE DATOS
CLASE Prueba
public class Prueba {
public static void main(String[] args) {
ListaC l=new ListaC();l.insertar(1);
l.insertar(2);
l.insertar(3);
l.insertar(4);
l.insertar(5);
l.mostrar();
}
}
LISTAS DOBLEMENTE ENLAZADAS
Un tipo de lista enlazada más sofisticado es la lista doblemente enlazada olista enlazada de dos vías. Cada
nodo tiene dos enlaces: uno apunta al nodo anterior, o apunta al valor NULL o a la lista vacía si es el primer
nodo; y otro que apunta al siguiente nodo siguiente,o apunta al valor NULL o a la lista vacía si es el último
nodo.
first (primer Nodo)
NULL
3
4
last (ultimo Nodo)
2
5
1
NULL
Un Nodo de una lista doblemente enlazada tiene trescampos
info
Anterior
3
Siguiente
La declaración de un Nodo de una lista doblemente enlazada en JAVA seria:
class Nodo {
int info;
Nodo siguiente,anterior;
//constructor
Nodo(int a)
{info=a;
siguiente=anterior=null;
}
}
Para poder realizar acciones sobre la lista doblemente enlazada utilizaremos la clase Lista en la cual estarán
todas las funciones sobre la lista...
Regístrate para leer el documento completo.