Advertisement
Guest User

Untitled

a guest
Sep 14th, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. public class ListaDobleEnlazadaIter {
  2.  
  3. private ListaDobleEnlazada lista;
  4. private Nodo posicion;
  5.  
  6. public ListaDobleEnlazadaIter (ListaDobleEnlazada lista){
  7.  
  8. this.lista = lista;
  9.  
  10. if (lista.esVacia()){
  11. posicion = lista.cabecera;
  12. System.out.println(lista.esVacia());
  13. }
  14.  
  15.  
  16. else {
  17. posicion = lista.cabecera.siguiente;
  18. System.out.println(lista.esVacia());
  19. }
  20.  
  21. }
  22.  
  23.  
  24. public void insertarDespues (Object dato){
  25.  
  26. Nodo nuevo = new Nodo(dato);
  27. nuevo.anterior = posicion;
  28. nuevo.siguiente = posicion.siguiente;
  29. nuevo.anterior.siguiente = nuevo;
  30. nuevo.siguiente.anterior = nuevo;
  31. posicion = nuevo;
  32.  
  33. }
  34.  
  35.  
  36. public boolean buscar (Object dato){
  37.  
  38. Nodo temp = lista.cabecera.siguiente;
  39.  
  40. while ((temp != lista.ultimo) && !(temp.dato.equals(dato))){
  41. temp = temp.siguiente;
  42. }
  43.  
  44. posicion = temp;
  45.  
  46. if (temp == null){
  47. return false;
  48. }
  49. return true;
  50. }
  51.  
  52. public boolean eliminar (Object dato){
  53.  
  54. if (buscar(dato)){
  55.  
  56. posicion.anterior.siguiente = posicion.siguiente;
  57. posicion.siguiente.anterior = posicion.anterior;
  58. posicion = lista.cabecera;
  59. return true;
  60. }
  61. else return false;
  62.  
  63. }
  64.  
  65.  
  66. public boolean estaDentro(){
  67.  
  68. return (posicion != lista.ultimo) && (posicion != lista.cabecera);
  69.  
  70.  
  71. }
  72.  
  73. //Devuelve el objeto de la posicion actual de la lista
  74. public Object recuperar(){
  75.  
  76. //Verifica que la posicion actual este dentro de la lista
  77. if (estaDentro()) return posicion.dato;
  78. else return null;
  79.  
  80. }
  81.  
  82.  
  83. //Deja "posicion" en el primer elemento de la lista
  84. public void primero()
  85. {
  86. posicion=lista.cabecera.siguiente;
  87. }
  88.  
  89. //Avanza "posicion" un modo mas hacia adelante
  90. public void avanzar(){
  91. if (estaDentro()){
  92. posicion=posicion.siguiente;
  93. }
  94. }
  95.  
  96. public void retroceder(){
  97. posicion = posicion.anterior;
  98. }
  99.  
  100. public void imprimir(ListaDobleEnlazada lst) {
  101.  
  102. if (lst.esVacia())
  103. {
  104. System.out.println("Es Vacia");
  105. }
  106. else
  107. {
  108. //ListaEnlazadaIter itr = ListaEnlazadaIter(lst);
  109. for( this.primero();this.estaDentro();this.avanzar() )
  110. {
  111. System.out.println(""+this.recuperar());
  112. }
  113. }
  114.  
  115. }
  116.  
  117. }
  118.  
  119.  
  120.  
  121. public class Nodo {
  122.  
  123. //Se crea una referencia "dato" y una referencia "siguiente" y se las instancia null
  124. public Object dato = null;
  125. public Nodo anterior = null;
  126. public Nodo siguiente = null;
  127.  
  128.  
  129. public Nodo (){
  130. this.dato = null;
  131. this.siguiente = null;
  132. this.anterior = null;
  133.  
  134. }
  135.  
  136. public Nodo (Object dato){
  137. this.anterior = null;
  138. this.dato = dato;
  139. this.siguiente= null;
  140. System.out.println("Gaston gil");
  141. }
  142.  
  143. }
  144.  
  145. public class ListaDobleEnlazada {
  146.  
  147. public Nodo cabecera;
  148. public Nodo ultimo;
  149.  
  150. public ListaDobleEnlazada(){
  151.  
  152. cabecera = new Nodo();
  153. ultimo = new Nodo();
  154. cabecera.siguiente = ultimo;
  155. ultimo.anterior = cabecera;
  156.  
  157. }
  158.  
  159. public boolean esVacia(){
  160.  
  161. return cabecera.siguiente == ultimo;
  162.  
  163. }
  164.  
  165. public void vaciar(){
  166. cabecera.siguiente = ultimo;
  167. ultimo.anterior = cabecera;
  168. }
  169.  
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement