- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章用VBS模拟二叉树,可以得到一个排序办法.由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
数据结构知识: 二叉树中序便历可以用来做排序 而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) for i=0 to 9 document.write " " & arr(i) T.insertNode arr(i) next document.write "<br/>" document.write "前序便历" T.preOrderTraversal document.write "中序便历" T.inOrderTraversal document.write "后序便历" T.postOrderTraversal </SCRIPT> 插入节点 39 69 94 47 50 72 55 41 97 73 前序便历 39 69 47 41 50 55 94 72 73 97 中序便历 39 41 47 50 55 69 72 73 94 97 后序便历 41 55 50 47 73 72 97 94 69 39 改写成sort(arr)函数 <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 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 & " " next document.write "<br/>" '排序处理 arr=sort(arr) '显示排序后的结果 for each a in arr document.write a & " " next </SCRIPT> 输出结果: 39 69 94 47 50 72 55 41 97 73 39 41 47 50 55 69 72 73 94 97 。
最后此篇关于用VBS模拟二叉树,可以得到一个排序办法.的文章就讲到这里了,如果你想了解更多关于用VBS模拟二叉树,可以得到一个排序办法.的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!