View difference between Paste ID: k5wNfHRh and e1sVkEAi
SHOW: | | - or go back to the newest paste.
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