Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. package listasdoblementeenlazadas;
  2.  
  3. /**
  4. * Ejemplo de listas doblemente enlazadas en JAVA.
  5. * @author Wilson Tovar <twilson at uninorte.edu.co>
  6. */
  7. public class ListasDoblementeEnlazadas {
  8.  
  9.  
  10. /**
  11. * Nodo de la lista.
  12. */
  13. static class Nodo {
  14. int num;
  15. Nodo LLink; // Enlace izquierdo
  16. Nodo RLink; // Enlace derecho
  17. }
  18. static Nodo ptr; // Primer elemento de la lista
  19.  
  20. public static void main(String[] args) {
  21. mostrarLista();
  22. addElem(0);
  23. addElem(2);
  24. addElem(3);
  25. addElem(4);
  26. mostrarLista();
  27. }
  28.  
  29. /**
  30. * Añadir elemento a la lista.
  31. * @param elem Elemento que sera añadido.
  32. */
  33. static void addElem(int elem) {
  34. Nodo nuevo = new Nodo();
  35.  
  36. if (ptr == null) {
  37. nuevo.num = elem;
  38. ptr = nuevo;
  39. } else {
  40. Nodo ant = ptr;
  41. Nodo p = ptr.RLink;
  42.  
  43. while (p != null) {
  44. ant = p;
  45. p = p.RLink;
  46. }
  47.  
  48. if (p == null) {
  49. nuevo.num = elem;
  50.  
  51. nuevo.LLink = ant;
  52. nuevo.RLink = null;
  53. ant.RLink = nuevo;
  54. }
  55. }
  56. }
  57.  
  58. /**
  59. * Mostrar en consola los elementos de la lista.
  60. */
  61. static void mostrarLista() {
  62. if (ptr == null) {
  63. System.out.println("No hay elementos en la lista");
  64. } else {
  65. Nodo p = ptr;
  66. while (p != null) {
  67. System.out.println(p.num);
  68. }
  69. p = p.RLink;
  70. }
  71. }
  72.  
  73. /**
  74. * Buscar un elemento en la lista.
  75. * @param elem Elemento que sera buscado.
  76. * @return Falso si no fue encontrado. Verdadero si fue encontrado.
  77. */
  78. static boolean buscarElem(int elem) {
  79. Nodo temp = ptr;
  80. while (temp != null) {
  81. if (temp.num == elem) {
  82. return true;
  83. }
  84.  
  85. temp = temp.RLink;
  86. }
  87.  
  88. return false;
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement