Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
| Download
Views: 3731
1
public class BST<Key extends Comparable<Key>, Value>
2
{
3
4
private Node root;
5
6
private class Node
7
{
8
Key key;
9
Value val;
10
Node left, right;
11
Node(Key key, Value val)
12
{ this.key = key; this.val = val;}
13
}
14
15
public Value get(Key key)
16
{ return get(root, key);}
17
18
19
private Value get(Node x, Key key)
20
{
21
if (x == null) return null;
22
int cmp = key.compareTo(x.key);
23
if (cmp < 0) return get(x.left, key);
24
else if (cmp > 0) return get(x.right, key);
25
else return x.val;
26
}
27
28
public boolean contains(Key key)
29
{ return (get(key) != null); }
30
31
public void put(Key key, Value val)
32
{ root = put(root, key, val); }
33
34
private Node put(Node x, Key key, Value val)
35
{
36
if (x == null) return new Node(key, val);
37
int cmp = key.compareTo(x.key);
38
if (cmp < 0) x.left = put(x.left, key, val);
39
else if (cmp > 0) x.right = put(x.right, key, val);
40
else x.val = val;
41
return x;
42
}
43
44
public static void main(String ar[])
45
{
46
47
}
48
49
50
}
51