用VBS模擬二叉樹,可以得到一個排序辦法.
2019-10-26 17:58:43
供稿:網友
數據結構知識:
二叉樹中序便歷可以用來做排序
而VBS里面恰恰就沒有現成的排序方法,因此我寫了一個用VBS的二叉樹,來解決排序問題,中序便歷就是排序。大家可以參考原理,應用到自己的程序中。
<SCRIPT LANGUAGE="vbScript">
class node
public data
public Lnode
public Rnode
sub insert(newData)
if newData<data 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 " " & 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 " " & 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 " " & N.data
end sub
end class
'調用示例
set T=new tree
document.write "插入節點"
arr=array(39,69,94,47,50,72,55,41,97,73)