FacundoCruz

DoubleLinkedListOrdenada

Oct 29th, 2020
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class DoubleLinkedListOrdenada <ELEMENT extends Comparable<ELEMENT>>
  2.               extends DoubleLinkedList<ELEMENT>implements LinkedListOrdenada<ELEMENT>{
  3.  
  4.     public DoubleLinkedListOrdenada () {super();        }
  5.    
  6.    
  7.     public void addenOrden(ELEMENT item){
  8.         if(this.size()==0) {
  9.             this.head=this.tail = new Node<ELEMENT>(item, null, null);
  10.             ++this.count;
  11.         }else {
  12.             if(item.compareTo(this.head.item) <= 0){
  13.                 this.addFirst(item);
  14.             }else {
  15.                 if(item.compareTo(this.tail.item)> 0) {
  16.                     this.addLast(item);
  17.                 }else {
  18.                     Node<ELEMENT> skip= this.head;
  19.                     while((skip!=null)&&(item.compareTo(skip.item)>0)) {
  20.                         skip=skip.next;
  21.                     }
  22.                     if(skip==null){
  23.                         throw new RuntimeException("Algo Esta Raro en el orden de los elementos de la lista...");
  24.                     }
  25.                     else {
  26.                         Node<ELEMENT> temp= new Node<>(item,skip,skip.prev);
  27.                         skip.prev.next=temp;
  28.                         skip.prev=temp;
  29.                         ++ this.count;
  30.                     }
  31.                 }
  32.             }
  33.         }
  34.     }
  35.    
  36. }
  37.  
Add Comment
Please, Sign In to add comment