Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class LinkedList<T> implements List<T> {
- private Element head=null;
- private int size;
- @Override
- public void insert(int index, T element) {
- Element el=new Element(element);
- if(head==null) {
- head=el;
- }else if(index>size || index<0) {
- throw new IndexOutOfBoundsException();
- }else if(index==0) {
- Element next=head;
- head=el;
- head.setNext(next);
- }
- else if(index==size) {
- Element next=head;
- while(next.getNext()!=null) {
- next=next.getNext();
- }
- next.setNext(el);
- }else {
- Element tempElem=head;
- Element actElem=head;
- while (index > 1) {
- actElem = actElem.next;
- index--;
- }
- tempElem=actElem.next;
- actElem.next=new Element(element);
- actElem.next.next=tempElem;
- }
- ++size;
- }
- @Override
- public T get(int index) {
- Element el=head;
- for(int i=0;i<index;i++) {
- el=el.getNext();
- }
- return el.getValue();
- }
- @Override
- public int size() {
- return size;
- }
- @Override
- public void clear() {
- head=null;
- size=0;
- }
- @Override
- public void WyswietlListe() {
- Element e=head;
- for(int i=0;i<size;i++) {
- System.out.println(e.getValue());
- e=e.getNext();
- }
- }
- public Element delete(int index) {
- Element next=head;
- if(head==null) {
- return null;
- }else if(index==0) {
- head=next.getNext();
- }else if(index<0 || index>size) {
- throw new IndexOutOfBoundsException();
- }else if(index==size){
- while(next.getNext()!=null) {
- next=next.getNext();
- }
- next.setValue(null);
- }else {
- for(int i=0;i<index;i++) {
- next=next.getNext();
- }
- while(next.getNext()!=null) {
- next.setValue(next.getNext().getValue());
- next=next.getNext();
- }
- }
- --size;
- return next;
- }
- @Override
- public boolean delete(T element) {
- // TODO Auto-generated method stub
- return false;
- }
- @Override
- public boolean contains(T element) {
- return false;
- }
- @Override
- public int indexOf(T element) {
- Element e=head;
- int pos=0;
- Element next=head;
- while(next!=null) {
- if(next.getValue().equals(element)) {
- return pos;
- }
- pos++;
- next=next.getNext();
- }
- return -1;
- }
- @Override
- public T set(int index, T element) {
- Element el=head;
- if(index==0) {
- head.setValue(element);
- }else {
- for(int i=0;i<index;i++) {
- el=el.getNext();
- }
- el.setValue(element);
- }
- return el.getValue();
- }
- private class Element{
- T value;
- Element next;
- public Element(T value) {
- this.value=value;
- }
- public T getValue() {
- return value;
- }
- public void setValue(T value) {
- this.value=value;
- }
- public Element getNext() {
- return next;
- }
- public void setNext(Element next) {
- this.next=next;
- }
- }
- public static void main(String[] args) {
- LinkedList l=new LinkedList();
- l.insert(0, new Towar("Mleko",2,2.50));
- l.insert(0, new Towar("Jajka",2,2.50));
- l.insert(0, new Towar("Karton",2,2.50));
- l.insert(2, new Towar("Cola",5,3.20));
- l.insert(1, new Towar("Jablka",20,0.10));
- l.insert(3,new Towar("Kasza",15,2.20));
- l.insert(5,new Towar("Sprite",20,1.40));
- l.insert(6,new Towar("Fanta",100,5.40));
- l.insert(7,new Towar("Kiwi",1510,0.20));
- l.insert(8, "cos");
- l.WyswietlListe();
- System.out.println(l.indexOf("cos"));
- //l.set(9, new Towar("Ziemniak",200,0.45));
- //l.WyswietlListe();
- /*System.out.println();
- l.delete(0);
- l.WyswietlListe();
- System.out.println();
- //l.delete(8);
- //l.WyswietlListe();
- //System.out.println();
- l.delete(5);
- l.WyswietlListe();
- l.delete(6);
- System.out.println();
- l.WyswietlListe();
- //l.delete(1);
- //l.WyswietlListe();
- */
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement