001    /*
002     * Created on 21.06.2005 Filename: Heap.java
003     */
004    package jagafa.util;
005    
006    import java.util.Iterator;
007    import java.util.LinkedList;
008    
009    /**
010     * @author Besitzer
011     */
012    public class Heap<T> extends LinkedList<T> {
013    
014        /**
015             * 
016             */
017            private static final long serialVersionUID = -2112598301107207489L;
018    
019            public void insertFirst(T o) {
020            Heap<T> newList = new Heap<T>();
021            Iterator<T> iter = this.iterator();
022            newList.add(o);
023            while (iter.hasNext()) {
024                newList.add(iter.next());
025            }
026    
027            this.removeAll(this);
028            this.addAll(newList);
029        }
030    
031        public void insertLast(T o) {
032            this.add(o);
033        }
034    
035        public void insert(int pos, T o) {
036            Heap<T> newList = new Heap<T>();
037            Iterator<T> iter = this.iterator();
038    
039            int i = 0;
040            while (iter.hasNext()) {
041    
042                if (i == pos) {
043                    newList.add(o);
044                }
045                i++;
046                newList.add(iter.next());
047    
048            }
049    
050            this.removeAll(this);
051            this.addAll(newList);
052        }
053    
054    }