Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. package LIFES;
  2.  
  3.  
  4. public class DList {
  5. protected DNode header;
  6. protected DNode tail;
  7. protected int size;
  8.  
  9. public DList(){
  10. size = 0;
  11. header = new DNode(null,null,null);
  12. tail = new DNode(null,null,header);
  13. header.setNext(tail);
  14. }
  15. public int size(){
  16. return size;
  17. }
  18.  
  19. public boolean isEmpty(){
  20. return size == 0;
  21. }
  22.  
  23. public String toString(){
  24. String s = "[";
  25. DNode p = header.getNext();
  26. while(p != tail){
  27. s = s + p.getElement().toString();
  28. p = p.getNext();
  29. if (p != tail){
  30. s = s + ", ";
  31. }
  32.  
  33. }
  34. return s + "]";
  35. }
  36. public DNode getFirst(){
  37. if (isEmpty()){
  38. System.out.println("FILA VAZIA");
  39. }
  40. return header.getNext();
  41. }
  42.  
  43. public DNode getLast(){
  44. if (isEmpty()){
  45. System.out.println("FILA VAZIA");
  46. }
  47. return tail.getPrev();
  48. }
  49.  
  50.  
  51.  
  52. public void removerRepetidos() {
  53. DNode auxiliar = header;
  54. DNode node = header;
  55. if (header.equals(node)) {
  56. this.header = auxiliar.getNext();
  57. while (auxiliar.getNext() != null) {
  58. if (node.equals(auxiliar.getNext())) {
  59. while (node.equals(auxiliar.getNext())) {
  60. auxiliar.setNext(auxiliar.getNext().getNext());
  61. }
  62. if (auxiliar.equals(node)) {
  63. header = auxiliar.getNext();
  64. }
  65. }
  66. auxiliar.setPrev(auxiliar);
  67. auxiliar = auxiliar.getNext();
  68. if (auxiliar == null) {
  69. break;
  70. }
  71. }
  72. } else {
  73. auxiliar = header;
  74. while (auxiliar.getNext() != null) {
  75. if (node.equals(auxiliar.getNext())) {
  76. while (node.equals(auxiliar.getNext())) {
  77. auxiliar.setNext(auxiliar.getNext().getNext());
  78. }
  79. if (auxiliar.equals(node)) {
  80. header = auxiliar.getNext();
  81. }
  82. }
  83. auxiliar.setPrev(auxiliar);
  84. auxiliar = auxiliar.getNext();
  85. if (auxiliar == null) {
  86. break;
  87. }
  88. }
  89. }
  90. }
  91.  
  92.  
  93. /**IMPRIMI A LISTA*/
  94. public void print(){
  95. DNode aux = header.getNext();
  96. if (isEmpty()){
  97. System.out.println("FILA VAZIA");
  98. }
  99. while(aux != tail){
  100. System.out.println(aux.getElement().toString());
  101. aux = aux.getNext();
  102.  
  103. }
  104.  
  105. }
  106.  
  107.  
  108.  
  109.  
  110.  
  111. /**ADICIONA SEMPRE NA FRENTE DA LISTA*/
  112. public void addFirst(Object element){
  113. size++;
  114. DNode newNode = new DNode(element,header.getNext(),header);
  115. header.setNext(newNode);
  116. header.getNext().setPrev(newNode);
  117. }
  118. /**ADICIONA SEMPRE NA CAUDA DA LISTA*/
  119. public void addLast(Object element){
  120. size++;
  121. DNode newNode = new DNode(element, tail, tail.getPrev());
  122. tail.getPrev().setNext(newNode);
  123. tail.setPrev(newNode);
  124. }
  125.  
  126. /**CLONAR A LISTA*/
  127. public DList clonarL(){
  128. DList c = new DList();
  129. DNode aux = header.getNext();
  130. while(aux != tail){
  131. c.addLast(aux.getElement());
  132. aux = aux.getNext();
  133. }
  134. return c;
  135.  
  136. }
  137.  
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement