gpt4 book ai didi

用VBS模拟二叉树,可以得到一个排序办法.

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

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 "&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>   插入节点 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 & "&nbsp;" next document.write  "<br/>"   '排序处理 arr=sort(arr)  '显示排序后的结果 for each a in arr    document.write  a & "&nbsp;" 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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com