SCRIPT LANGUAGE="vbScript"> class node public data public Lnode public Rnode sub insert(newData)
if newDatadata then if IsEmpty(Lnode) then set Lnode=new node Lnode.data = newData else Lnode.insert newData end if else if IsEmpty(Rnode) then set Rnode=new node Rnode.data = newData else Rnode.insert newData end if end if end sub end class
class tree public root
sub insertNode(newData) if IsEmpty(root) then set root=new node root.data=newData else root.insert newData end if end sub
sub preOrderTraversal'前序便历 preOrder root document.write "br/>" end sub sub inOrderTraversal '中序便历 inOrder root document.write "br/>" end sub sub postOrderTraversal'后序便历 postOrder root document.write "br/>" end sub
Private sub preOrder(N) if IsEmpty(N) then exit sub document.write "nbsp;" N.data preOrder N.Lnode preOrder N.Rnode end sub Private sub inOrder(N) if IsEmpty(N) then exit sub inOrder N.Lnode document.write "nbsp;" N.data inOrder N.Rnode end sub Private sub postOrder(N) if IsEmpty(N) then exit sub postOrder N.Lnode postOrder N.Rnode document.write "nbsp;" N.data end sub end class '调用示例
set T=new tree
document.write "插入节点" arr=array(39,69,94,47,50,72,55,41,97,73) for i=0 to 9 document.write "nbsp;" arr(i) T.insertNode arr(i) next document.write "br/>" document.write "前序便历" T.preOrderTraversal document.write "中序便历" T.inOrderTraversal document.write "后序便历" T.postOrderTraversal /SCRIPT>
SCRIPT LANGUAGE="vbScript"> class node public data public Lnode public Rnode sub insert(newData)
if newDatadata then if IsEmpty(Lnode) then set Lnode=new node Lnode.data = newData else Lnode.insert newData end if else if IsEmpty(Rnode) then set Rnode=new node Rnode.data = newData else Rnode.insert newData end if end if end sub end class
class tree public root public Arr private index sub insertNode(newData) if IsEmpty(root) then set root=new node root.data=newData index=0 else root.insert newData end if end sub
sub inOrderTraversal '中序便历 inOrder root end sub Private sub inOrder(N) if IsEmpty(N) then exit sub inOrder N.Lnode Arr(index)= N.data index=index+1 inOrder N.Rnode end sub
end class
function sort(arr) set T=new tree T.Arr=arr for each a in arr T.insertNode a next T.inOrderTraversal sort=T.Arr end function '-------以上是sort函数部分------ '-------以下是调用示例------ '随便一个数组 arr=array(39,69,94,47,50,72,55,41,97,73) '显示数组内容 for each a in arr document.write a "nbsp;" next document.write "br/>" '排序处理 arr=sort(arr) '显示排序后的结果 for each a in arr document.write a "nbsp;" next /SCRIPT>