用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 "&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 newData

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值