projects
/
org.ibex.util.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Hash->HashMap, add Basket.Queue
[org.ibex.util.git]
/
src
/
org
/
ibex
/
util
/
Basket.java
diff --git
a/src/org/ibex/util/Basket.java
b/src/org/ibex/util/Basket.java
index
f3b2504
..
bd981b6
100644
(file)
--- a/
src/org/ibex/util/Basket.java
+++ b/
src/org/ibex/util/Basket.java
@@
-26,9
+26,8
@@
public interface Basket extends Serializable {
public interface RandomAccess extends List { }
public interface Queue extends Basket {
public interface RandomAccess extends List { }
public interface Queue extends Basket {
- // FIXME
- //public void enqueue(Object o);
- //public Object dequeue();
+ public void enqueue(Object o);
+ public Object dequeue();
}
public interface Stack extends Basket {
}
public interface Stack extends Basket {
@@
-60,6
+59,16
@@
public interface Basket extends Serializable {
public Array(int initialCapacity) { o = new Object[initialCapacity]; }
public Array(Object entry) { this(1); add(entry); }
public Array(int initialCapacity) { o = new Object[initialCapacity]; }
public Array(Object entry) { this(1); add(entry); }
+ public void enqueue(Object o) { add(o); }
+
+ // FEATURE: make this more efficient with general wraparound
+ public Object dequeue() {
+ if (size==0) return null;
+ Object ret = o[0];
+ for(int i=1; i<size; i++) o[i-1]=o[i];
+ return ret;
+ }
+
public void add(Object obj) { add(size, obj); }
public void add(int i, Object obj) {
size(size + 1);
public void add(Object obj) { add(size, obj); }
public void add(int i, Object obj) {
size(size + 1);
@@
-162,10
+171,6
@@
public interface Basket extends Serializable {
public void push(Object o) { add(o); }
}
public void push(Object o) { add(o); }
}
- //public class Tree implements RandomAccess { } FIXME
-
- //public class IndexedTree extends Tree { } FIXME
-
/** Implementation of a hash table using Radke's quadratic residue
* linear probing. Uses a single array to store all entries.
*
/** Implementation of a hash table using Radke's quadratic residue
* linear probing. Uses a single array to store all entries.
*
@@
-173,7
+178,7
@@
public interface Basket extends Serializable {
*
* @author adam@ibex.org, crawshaw@ibex.org
*/
*
* @author adam@ibex.org, crawshaw@ibex.org
*/
- public abstract class Hash implements Basket {
+ public class Hash implements Basket, Map {
static final long serialVersionUID = 3948384093L;
/** Used internally to record used slots. */
static final long serialVersionUID = 3948384093L;
/** Used internally to record used slots. */
@@
-347,10
+352,6
@@
public interface Basket extends Serializable {
}
}
}
}
- public class HashMap extends Hash implements Map {
- public HashMap() { super(); }
- public HashMap(int x, float y) { super(x,y); }
- public HashMap(int x, int z, float y) { super(x,z,y); }
- }
+ // FIXME, BalancedTree goes here
}
}