不太明白是何意,
public boolean insertNode(TreeNode parent, String insertPosition, TreeNode newNode){}
父结点存在,插入成功 return true;否则false
public static final String[] insertPosition = {"left", "right"};
public boolean insertNode(TreeNode parent, String insertPosition, TreeNode newNode){}
父结点存在,插入成功 return true;否则false
public static final String[] insertPosition = {"left", "right"};
TreeNode p = root, prev = null;
while (p != null) { // find a place for inserting new node;
prev = p;
if (p.key < el)
p = p.rightChild ;
else p = p.leftChild ;
}
if (root == null) // tree is empty;
root = new TreeNode(el);
else if (prev.key < el)
prev.rightChild = new TreeNode(el);
else prev.leftChild = new TreeNode(el);
}
{
TreeNode root=null; TREE()
{
root=null;
} void AddNode(int num)
{
AddNode(num,root);
}
private void AddNode(int num,TreeNode baseNode)
{
if(root==null)
root = new TreeNode(num);
else
{
if(num<=baseNode.value){
if(baseNode.leftChild!=null)
AddNode(num,baseNode.leftChild);
else
baseNode.leftChild=new TreeNode(num);
} else {
if(baseNode.rightChild!=null)
AddNode(num,baseNode.rightChild);
else
baseNode.rightChild=new TreeNode(num);
}
}
}
void postOrder(TreeNode n){
if(n!=null){
System.out.println(n.value);
postOrder(n.leftChild);
postOrder(n.rightChild);
}
}
}
public class TestTree{
public static void main(String[] args){
TREE t=new TREE();
t.AddNode(30);
t.AddNode(40);
t.AddNode(15);
t.AddNode(45);
t.AddNode(8);
t.postOrder(t.root); }
}
学习中:)
一直在用c++,昨天看了一个下午,觉得跟c++很象,就开始做作业,哈哈,错了。