You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2001/11/27 12:29:42 UTC
cvs commit: jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/collections BinaryHeap.java
donaldp 01/11/27 03:29:42
Modified: src/java/org/apache/avalon/excalibur/collections
BinaryHeap.java
Log:
Made comparators public and refactored isMinHeap constructor to chain to other constructor.
Submitted By: "Chad Stansbury" <st...@earthlink.net>
Revision Changes Path
1.6 +31 -8 jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/collections/BinaryHeap.java
Index: BinaryHeap.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/collections/BinaryHeap.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- BinaryHeap.java 2001/11/19 12:08:46 1.5
+++ BinaryHeap.java 2001/11/27 11:29:42 1.6
@@ -18,7 +18,7 @@
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @author <a href="mailto:ram.chidambaram@telus.com">Ram Chidambaram</a>
* @author <a href="mailto:stansburyc@earthlink.net">Chad Stansbury</a>
- * @version CVS $Revision: 1.5 $ $Date: 2001/11/19 12:08:46 $
+ * @version CVS $Revision: 1.6 $ $Date: 2001/11/27 11:29:42 $
* @since 4.0
*/
public final class BinaryHeap
@@ -42,8 +42,18 @@
}
}
- private static final Comparator MIN_COMPARATOR = new MinComparator();
- private static final Comparator MAX_COMPARATOR = new MaxComparator();
+ /**
+ * Comparator used to instantiate a min heap - assumes contents implement
+ * the Comparable interface.
+ */
+ public static final Comparator MIN_COMPARATOR = new MinComparator();
+
+ /**
+ * Comparator used to instantiate a max heap - assumes contents implement
+ * the Comparable interface.
+ */
+ public static final Comparator MAX_COMPARATOR = new MaxComparator();
+
private static final int DEFAULT_CAPACITY = 13;
private static final Comparator DEFAULT_COMPARATOR = MIN_COMPARATOR;
private int m_size;
@@ -60,6 +70,8 @@
/**
* Instantiates a new min binary heap with the given initial capacity.
+ *
+ * @param capacity the size of the heap
*/
public BinaryHeap( final int capacity )
{
@@ -69,6 +81,8 @@
/**
* Instantiates a new binary heap with the default initial capacity and
* ordered using the given Comparator.
+ *
+ * @param comparator to order the contents of the heap
*/
public BinaryHeap( final Comparator comparator )
{
@@ -78,6 +92,9 @@
/**
* Instantiates a new binary heap with the given initial capacity and
* ordered using the given Comparator.
+ *
+ * @param capacity the size of the heap
+ * @param comparator to order the contents of the heap
*/
public BinaryHeap( final int capacity, final Comparator comparator )
{
@@ -107,11 +124,7 @@
*/
public BinaryHeap( final int capacity, final boolean isMinHeap )
{
- //+1 as 0 is noop
- m_elements = new Object[ capacity + 1 ];
-
- if( isMinHeap ) m_comparator = MIN_COMPARATOR;
- else m_comparator = MAX_COMPARATOR;
+ this( capacity, isMinHeap ? MIN_COMPARATOR : MAX_COMPARATOR );
}
/**
@@ -141,6 +154,16 @@
{
//+1 as element 0 is noop
return ( m_elements.length == m_size+1 );
+ }
+
+ /**
+ * Returns the number of elements currently on the heap.
+ *
+ * @return the size of the heap.
+ */
+ public int size()
+ {
+ return m_size;
}
/**
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>