<script>
// 构建一个二叉树
function BinaryTree() {
//创建一个节点
var Node = function(key){
this.key = key;//节点值
this.left=null;//节点的左儿子
this.right=null;//节点的右儿子
};
var root = null;//根节点
var insertNode = function(oldNode,newNode){//插入节点函数
if(newNode.key<oldNode.key){//放入左节点
if(oldNode.left===null){
oldNode.left=newNode;
}else{
insertNode(oldNode.left,newNode);//递归
}
}else{
insertNode(oldNode.right,newNode);
}
}
this.insert=function(key){//定义了一个自定义函数insert()
var newNode=new Node(key);//newNode是Node的一个实例
if(root===null){
root=newNode;
}else{
insertNode(root,newNode);
}
};
}
var nodes=[8,3,10,1,6,14,4,7,13];
var binaryTree=new BinaryTree();//binaryTree是BinaryTree的实例
nodes.forEach(function(key){
binaryTree.insert(key);
});