::Map To Heap:: ÍѪÅÕ ÍÃÔÂÐÇØ²Ô¾Ñ¹¸ì 483 06187 21 public class MapToHeap { AvlTree map; public MapToHeap(){ map = new AvlTree(); } public void put(Object key, Object x, int p){ map.insert((Comparable)key, new Heap()); Heap a = get(key); //a ¤×Í heap ·Õè map ¡Ñº key //à¾ÔèÁâ¹´·ÕèÁÕ value à·èҡѺ x áÅÐ priority à·èҡѺ p à¢éÒä»ã¹ heap a.add(x, p); } public Heap get(Object key) { AvlNode a = map.find((Comparable) key); return a == null ? null : (Heap) map.find((Comparable) key).value; } public void remove(Object key) { map.remove((Comparable) key); } public void remove(Object key, Object x) { Heap a = get(key); a.remove(x); } public MapToHeap subMap(Object fromKey, Object toKey) { MapToHeap newMap = new MapToHeap(); newMap.map = map.findBetween((Comparable) fromKey, (Comparable) toKey); return newMap.map == null ? null : newMap; } }