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 }