Guest User

Untitled

a guest
Jul 17th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. public class Node {
  2.  
  3. private Object Element;
  4. private Node Next;
  5.  
  6. public Node(Object A, Node n) {
  7. Element = A;
  8. Next = n;
  9. }
  10.  
  11. public Object getElement() {
  12. return Element;
  13. }
  14.  
  15. public Node getNext() {
  16. return Next;
  17. }
  18.  
  19. public void setElement(Object NewElement) {
  20. Element = NewElement;
  21. }
  22.  
  23. public void setNext(Node newNext) {
  24. Next = newNext;
  25. }
  26. }
  27. -------------------------------------------------------------
  28.  
  29. public class MyLinkedList {
  30.  
  31. private Node head;
  32. private Node tail;
  33. private Node header;
  34. private int size;
  35.  
  36. public MyLinkedList() {
  37. head = null;
  38. tail = null;
  39. header = null;
  40. size = 0;
  41. }
  42.  
  43. public void add(int index, Object element) {
  44. Node inserted = new Node(element, null);
  45. if (head == null) {
  46. head = inserted;
  47. header.setNext(head);
  48. size++;
  49. } else if (index == size) {
  50. add(element);
  51. return;
  52. } else if (index == 1) {
  53. inserted.setNext(head);
  54. header.setNext(inserted);
  55. head = inserted;
  56. size++;
  57. } else {
  58. int i = 1;
  59. Node p = head.getNext();
  60. while (i != index - 1) {
  61. p.getNext();
  62. i++;
  63. }
  64. inserted.setNext(p.getNext());
  65. p.setElement(p);
  66. size++;
  67. }
  68.  
  69. }
  70.  
  71. public void add(Object element) {
  72. Node last = new Node(element, null);
  73. last.setElement(element);
  74. last.setNext(null);
  75.  
  76. if (head == null) {
  77. head = last;
  78. size++;
  79. return;
  80. } else {
  81. Node p = head;
  82. while (p.getNext() != null) {
  83. p = p.getNext();
  84. }
  85. p.setNext(last);
  86. size++;
  87. }
  88.  
  89. }
  90.  
  91. public Object get(int index) {
  92. assert (index >= 0 && index < size());
  93. Node p = head;
  94. for (int i = 0; i < index; i++)
  95. p = p.getNext();
  96.  
  97. return p.getElement();
  98. }
  99.  
  100. public void set(int index, Object element) {
  101. assert (index >= 0 && index < size());
  102. Node p = head;
  103. for (int i = 0; i > size; i++) {
  104. if (i == index) {
  105. p.setElement(element);
  106. } else {
  107. p = p.getNext();
  108. }
  109. }
  110.  
  111. }
  112.  
  113. public void clear() {
  114. if (head == null && tail == null)
  115. return;
  116. Node p = head;
  117. Node k = new Node(null, null);
  118. for (int i = 0; i > size; i++) {
  119. k = p.getNext();
  120. p = null;
  121. p = k;
  122. }
  123.  
  124. }
  125.  
  126. public boolean isEmpty() {
  127. if (size == 0)
  128. ;
  129. return true;
  130. }
  131.  
  132. public void remove(int index) {
  133. assert (index >= 0 && index < size());
  134. Node p = header.getNext();
  135. if (index == size) {
  136. for (int i = 1; i < index - 1; i++) {
  137. p = p.getNext();
  138. }
  139. p.setNext(null);
  140. tail = p;
  141. return;
  142. }
  143. for (int i = 1; i < index; i++) {
  144. if (i == index - 1) {
  145. Node k = p.getNext();
  146. p.setNext(k.getNext());
  147. size--;
  148. return;
  149. }
  150. p = p.getNext();
  151. }
  152.  
  153. }
  154.  
  155. public int size() {
  156. return size;
  157. }
  158.  
  159. public MyLinkedList sublist(int fromIndex, int toIndex) {
  160. assert (fromIndex >= 0 && fromIndex < size() && toIndex >= 0 && toIndex < size());
  161. Node p = header.getNext();
  162. Node k = null;
  163. for (int i = 1; i < fromIndex; i++) {
  164. p = p.getNext();
  165. k = p;
  166. }
  167. MyLinkedList list2 = new MyLinkedList();
  168. list2.head = k;
  169. list2.tail = null;
  170. for (int i = fromIndex; i <= toIndex; i++) {
  171. if (i==toIndex){
  172. k.setNext(null);
  173. }
  174. p = p.getNext();
  175. k.setNext(p);
  176. }
  177. return list2;
  178.  
  179. }
  180.  
  181. public boolean contains(Object o) {
  182.  
  183. }
  184.  
  185. public MyLLIterator getIterator() {
  186. MyLLIterator itr = new MyLLIterator();
  187. }
  188.  
  189. }
Add Comment
Please, Sign In to add comment