具体代码如下:
var root=null; //定义全局变量,为树根
function treenode(key){ //定义数的结构
this.key=key; //树的根节点
this.left=null; //树的左节点
this.right=null; //树的右节点
}
function insertnode(key){ //添加树的新节点
var node=new treenode(key); //创建节点
if(root==null){
root=node; //如果根节点不存在,把该节点当做根节点
}else{
insertnewnode(root,node);
}
}
function insertnewnode(rootnode,newnode){
if(rootnode.key>newnode.key){ //比较新节点与当前节点的根节点大小
if(rootnode.left!=null){
insertnewnode(rootnode.left,newnode);
}else{
rootnode.left=newnode;
}
}else{
if(rootnode.right!=null){
insertnewnode(rootnode.right,newnode);
}else{
rootnode.right=newnode;
}
}
}
var treenum=[2,4,1,73,90,1,12,13,67];
for(var i=0;i<treenum.length;i++){
insertnode(treenum[i]);
}
console.log("中序遍历结果为:");
function centerorder(node){
if(node!=null){
centerorder(node.left);
console.log(node.key);
centerorder(node.right);
}else{
return;
}
}
centerorder(root);
function max(node){
var max=node;
while(max.right!=null){
max=max.right;
}
return max;
}
console.log("最大值是:"+max(root).key);