Advertisement
flomath

SortedList

Jan 28th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.36 KB | None | 0 0
  1. // Musterloesung Uebung
  2. public int indexOf(E element){
  3.  
  4.         Entry<E> currentEntry = this.head;
  5.         int index=0;
  6.         while(currentEntry != null && currentEntry.getElement().compareTo(element) <= 0){
  7.             if(currentEntry.getElement().compareTo(element) == 0) {
  8.                 return index;
  9.                         }
  10.             currentEntry = currentEntry.getNext();
  11.             index++;
  12.             }
  13.     return -1;
  14.     }
  15.  
  16.  
  17.     public void add(E element){
  18.        
  19.             Entry<E> currentEntry = this.head;
  20.     if(currentEntry == null){
  21.     this.head = new Entry<E>(element,null);
  22.     this.size++;
  23.     return;
  24.     }
  25.     if(currentEntry.getElement().compareTo(element) >0){
  26.     this.head = new Entry<E>(element,currentEntry);
  27.     this.size++;
  28.     return;
  29.     }
  30.     while(currentEntry.getNext() != null && currentEntry.getNext().getElement().compareTo(element) <0){
  31.     currentEntry = currentEntry.getNext();
  32.     }
  33.     Entry<E> entry = new Entry<E>(element,currentEntry.getNext());
  34.     currentEntry.setNext(entry);
  35.     this.size++;
  36.        
  37.  
  38.     }
  39.  
  40.  
  41.     public void slice(E min, E max){
  42.      if(this.head==null) return;
  43.     Entry<E> currentEntry = this.head;
  44.     this.head=null;
  45.     this.size=0;
  46.     while(currentEntry !=null && currentEntry.getElement().compareTo(min) <0){
  47.     currentEntry = currentEntry.getNext();
  48.     }
  49.     if(currentEntry == null) return;
  50.     if(currentEntry.getElement().compareTo(max)<=0){
  51.     this.head = currentEntry;
  52.     this.size++;
  53.     }
  54.     while(currentEntry.getNext() != null && currentEntry.getNext().getElement().compareTo(max) <= 0 ){
  55.     currentEntry = currentEntry.getNext();
  56.     this.size++;
  57.     }
  58.     if(currentEntry !=null){
  59.     currentEntry.setNext(null);
  60.     }
  61.  
  62.     }
  63.  
  64. public void slice(E min, E max){
  65.         Entry <E> current=this.head;
  66.         int sizeSliced=0;
  67.         if(this.head==null){
  68.                 return;
  69.         }
  70.         this.head = null;
  71.         while(current.getElement().compareTo(min)<0 && current!= null){
  72.                 current=current.getNext();
  73.         }
  74.         this.head=current;
  75.         sizeSliced++;
  76.         while(current.getNext()!= null && current.getNext().getElement().compareTo(max)<= 0) {
  77.                         current= current.getNext();
  78.                         sizeSliced++;
  79.         }
  80.         if(current!=null){
  81.                 current.setNext(null);
  82.         }
  83.         this.size=sizeSliced;  
  84.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement