Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1.  
  2. public class LinkedList<T> implements List<T> {
  3. private Element head=null;
  4. private int size;
  5.  
  6. @Override
  7. public void insert(int index, T element) {
  8. Element el=new Element(element);
  9. if(head==null) {
  10. head=el;
  11. }else if(index>size || index<0) {
  12. throw new IndexOutOfBoundsException();
  13. }else if(index==0) {
  14. Element next=head;
  15. head=el;
  16. head.setNext(next);
  17.  
  18. }
  19. else if(index==size) {
  20. Element next=head;
  21. while(next.getNext()!=null) {
  22. next=next.getNext();
  23. }
  24. next.setNext(el);
  25. }else {
  26. Element tempElem=head;
  27. Element actElem=head;
  28. while (index > 1) {
  29. actElem = actElem.next;
  30. index--;
  31. }
  32. tempElem=actElem.next;
  33. actElem.next=new Element(element);
  34. actElem.next.next=tempElem;
  35. }
  36. ++size;
  37. }
  38.  
  39. @Override
  40. public T get(int index) {
  41. Element el=head;
  42. for(int i=0;i<index;i++) {
  43. el=el.getNext();
  44. }
  45. return el.getValue();
  46. }
  47.  
  48. @Override
  49. public int size() {
  50. return size;
  51. }
  52.  
  53. @Override
  54. public void clear() {
  55. head=null;
  56. size=0;
  57. }
  58.  
  59. @Override
  60. public void WyswietlListe() {
  61. Element e=head;
  62. for(int i=0;i<size;i++) {
  63. System.out.println(e.getValue());
  64. e=e.getNext();
  65. }
  66. }
  67.  
  68. public Element delete(int index) {
  69. Element next=head;
  70. if(head==null) {
  71. return null;
  72. }else if(index==0) {
  73. head=next.getNext();
  74. }else if(index<0 || index>size) {
  75. throw new IndexOutOfBoundsException();
  76. }else if(index==size){
  77. while(next.getNext()!=null) {
  78. next=next.getNext();
  79. }
  80. next.setValue(null);
  81. }else {
  82. for(int i=0;i<index;i++) {
  83. next=next.getNext();
  84. }
  85. while(next.getNext()!=null) {
  86. next.setValue(next.getNext().getValue());
  87. next=next.getNext();
  88. }
  89.  
  90. }
  91. --size;
  92. return next;
  93. }
  94.  
  95. @Override
  96. public boolean delete(T element) {
  97. // TODO Auto-generated method stub
  98. return false;
  99. }
  100.  
  101. @Override
  102. public boolean contains(T element) {
  103. return false;
  104. }
  105.  
  106. @Override
  107. public int indexOf(T element) {
  108. Element e=head;
  109. int pos=0;
  110. Element next=head;
  111. while(next!=null) {
  112. if(next.getValue().equals(element)) {
  113. return pos;
  114. }
  115. pos++;
  116. next=next.getNext();
  117. }
  118. return -1;
  119. }
  120.  
  121. @Override
  122. public T set(int index, T element) {
  123. Element el=head;
  124. if(index==0) {
  125. head.setValue(element);
  126. }else {
  127. for(int i=0;i<index;i++) {
  128. el=el.getNext();
  129. }
  130. el.setValue(element);
  131. }
  132. return el.getValue();
  133. }
  134.  
  135. private class Element{
  136. T value;
  137. Element next;
  138.  
  139. public Element(T value) {
  140. this.value=value;
  141. }
  142.  
  143. public T getValue() {
  144. return value;
  145. }
  146.  
  147. public void setValue(T value) {
  148. this.value=value;
  149. }
  150.  
  151. public Element getNext() {
  152. return next;
  153. }
  154.  
  155. public void setNext(Element next) {
  156. this.next=next;
  157. }
  158. }
  159.  
  160. public static void main(String[] args) {
  161. LinkedList l=new LinkedList();
  162. l.insert(0, new Towar("Mleko",2,2.50));
  163. l.insert(0, new Towar("Jajka",2,2.50));
  164. l.insert(0, new Towar("Karton",2,2.50));
  165. l.insert(2, new Towar("Cola",5,3.20));
  166. l.insert(1, new Towar("Jablka",20,0.10));
  167. l.insert(3,new Towar("Kasza",15,2.20));
  168. l.insert(5,new Towar("Sprite",20,1.40));
  169. l.insert(6,new Towar("Fanta",100,5.40));
  170. l.insert(7,new Towar("Kiwi",1510,0.20));
  171. l.insert(8, "cos");
  172. l.WyswietlListe();
  173. System.out.println(l.indexOf("cos"));
  174. //l.set(9, new Towar("Ziemniak",200,0.45));
  175. //l.WyswietlListe();
  176.  
  177. /*System.out.println();
  178. l.delete(0);
  179. l.WyswietlListe();
  180. System.out.println();
  181. //l.delete(8);
  182. //l.WyswietlListe();
  183. //System.out.println();
  184. l.delete(5);
  185. l.WyswietlListe();
  186. l.delete(6);
  187. System.out.println();
  188. l.WyswietlListe();
  189. //l.delete(1);
  190. //l.WyswietlListe();
  191. */
  192.  
  193. }
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement