Subversion Repositories programming

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
22 irasnyd 1
// Written by Ira Snyder
2
// 11-03-2004
3
import java.io.*;
4
import java.util.*;
5
 
6
class UnorderedTree {
7
	private Object root;
8
	private Set subtrees;
9
	private int size;
10
 
11
	public UnorderedTree( ) { } //constructs an empty tree
12
 
13
	public UnorderedTree( Object root ) { //constructs a singleton
14
		this.root = root;
15
		subtrees = new HashSet(); //empty set
16
		size = 1;
17
	}
18
 
19
	//constructor to create any tree that is not a singleton
20
	//and is not an empty tree
21
	public UnorderedTree( Object root, Set trees ) {
22
		this(root);
23
		for( Iterator it=trees.iterator(); it.hasNext(); ) {
24
			Object object = it.next();
25
			if( object instanceof UnorderedTree ) {
26
				UnorderedTree tree = (UnorderedTree)object;
27
				subtrees.add(tree);
28
				size += tree.size;
29
			}
30
		}
31
	}
32
 
33
	public int size( ) { return size; }
34
 
35
} //end class UnorderedTree
36