Mercurial > hg > Members > shoshi > AADS
diff src/tree/BTreeMap.java @ 0:a9cb12a7f995
hg init
author | misaka |
---|---|
date | Wed, 06 Jul 2011 15:19:52 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/tree/BTreeMap.java Wed Jul 06 15:19:52 2011 +0900 @@ -0,0 +1,84 @@ +package tree; + +import java.util.ArrayList; +import java.util.Iterator; + +public class BTreeMap<K extends Comparable<K>,V> implements Map<K,V> +{ + private final int order; + + public BTreeMap(int order) + { + this.order = order; + } + + @Override + public void put(K _key, V _value) + { + } + + @Override + public V get(K _key) + { + return null; + } + + public V remove(K _key) + { + return null; + } + + private static abstract class Node<K extends Comparable<K>,V> + { + @Override + public abstract String toString(); + } + + private class Link<K extends Comparable<K>,V> + { + public K key; + public Node<K,V> node; + + public Link(K key,Node<K,V> node) + { + this.key = key; + this.node = node; + } + } + + private class Bucket<K extends Comparable<K>,V> extends Node<K,V> + { + private final int order; + private ArrayList<Link<K,V>> children; + + public Bucket(int order) + { + this.order = order; + children = new ArrayList<Link<K,V>>(this.order+2); + } + + @Override + public String toString() + { + return "bucket"; + } + } + + private class Leaf<K extends Comparable<K>,V> extends Node<K,V> + { + public K key; + public V value; + + public Leaf(K key,V value) + { + this.key = key; + this.value = value; + } + + @Override + public String toString() + { + return String.format("key = %s , value = %s",key,value); + } + } +}