Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ListaDobleEnlazadaIter {
- private ListaDobleEnlazada lista;
- private Nodo posicion;
- public ListaDobleEnlazadaIter (ListaDobleEnlazada lista){
- this.lista = lista;
- if (lista.esVacia()){
- posicion = lista.cabecera;
- System.out.println(lista.esVacia());
- }
- else {
- posicion = lista.cabecera.siguiente;
- System.out.println(lista.esVacia());
- }
- }
- public void insertarDespues (Object dato){
- Nodo nuevo = new Nodo(dato);
- nuevo.anterior = posicion;
- nuevo.siguiente = posicion.siguiente;
- nuevo.anterior.siguiente = nuevo;
- nuevo.siguiente.anterior = nuevo;
- posicion = nuevo;
- }
- public boolean buscar (Object dato){
- Nodo temp = lista.cabecera.siguiente;
- while ((temp != lista.ultimo) && !(temp.dato.equals(dato))){
- temp = temp.siguiente;
- }
- posicion = temp;
- if (temp == null){
- return false;
- }
- return true;
- }
- public boolean eliminar (Object dato){
- if (buscar(dato)){
- posicion.anterior.siguiente = posicion.siguiente;
- posicion.siguiente.anterior = posicion.anterior;
- posicion = lista.cabecera;
- return true;
- }
- else return false;
- }
- public boolean estaDentro(){
- return (posicion != lista.ultimo) && (posicion != lista.cabecera);
- }
- //Devuelve el objeto de la posicion actual de la lista
- public Object recuperar(){
- //Verifica que la posicion actual este dentro de la lista
- if (estaDentro()) return posicion.dato;
- else return null;
- }
- //Deja "posicion" en el primer elemento de la lista
- public void primero()
- {
- posicion=lista.cabecera.siguiente;
- }
- //Avanza "posicion" un modo mas hacia adelante
- public void avanzar(){
- if (estaDentro()){
- posicion=posicion.siguiente;
- }
- }
- public void retroceder(){
- posicion = posicion.anterior;
- }
- public void imprimir(ListaDobleEnlazada lst) {
- if (lst.esVacia())
- {
- System.out.println("Es Vacia");
- }
- else
- {
- //ListaEnlazadaIter itr = ListaEnlazadaIter(lst);
- for( this.primero();this.estaDentro();this.avanzar() )
- {
- System.out.println(""+this.recuperar());
- }
- }
- }
- }
- public class Nodo {
- //Se crea una referencia "dato" y una referencia "siguiente" y se las instancia null
- public Object dato = null;
- public Nodo anterior = null;
- public Nodo siguiente = null;
- public Nodo (){
- this.dato = null;
- this.siguiente = null;
- this.anterior = null;
- }
- public Nodo (Object dato){
- this.anterior = null;
- this.dato = dato;
- this.siguiente= null;
- System.out.println("Gaston gil");
- }
- }
- public class ListaDobleEnlazada {
- public Nodo cabecera;
- public Nodo ultimo;
- public ListaDobleEnlazada(){
- cabecera = new Nodo();
- ultimo = new Nodo();
- cabecera.siguiente = ultimo;
- ultimo.anterior = cabecera;
- }
- public boolean esVacia(){
- return cabecera.siguiente == ultimo;
- }
- public void vaciar(){
- cabecera.siguiente = ultimo;
- ultimo.anterior = cabecera;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement