婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用VBS模擬二叉樹,可以得到一個排序辦法.

用VBS模擬二叉樹,可以得到一個排序辦法.

熱門標簽:怎么看地圖標注 百度地圖標注是什么意思 外呼系統免費招代理 廣州ai電銷機器人一般多少錢 深圳外呼系統收費 拉薩外呼系統業務 外呼線路中繼線是什么 外呼系統telrobot 合肥高德地圖標注
數據結構知識:

二叉樹中序便歷可以用來做排序

而VBS里面恰恰就沒有現成的排序方法,因此我寫了一個用VBS的二叉樹,來解決排序問題,中序便歷就是排序。大家可以參考原理,應用到自己的程序中。

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>

 

插入節點 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 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>

輸出結果:

39 69 94 47 50 72 55 41 97 73 
39 41 47 50 55 69 72 73 94 97

標簽:臺灣 延安 六安 周口 嘉興 廣安 玉林 漳州

巨人網絡通訊聲明:本文標題《用VBS模擬二叉樹,可以得到一個排序辦法.》,本文關鍵詞  用,VBS,模擬,二叉,樹,可以,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用VBS模擬二叉樹,可以得到一個排序辦法.》相關的同類信息!
  • 本頁收集關于用VBS模擬二叉樹,可以得到一個排序辦法.的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 泗阳县| 通化市| 伊春市| 呼和浩特市| 西安市| 普兰县| 遂宁市| 筠连县| 敖汉旗| 乐东| 龙口市| 蛟河市| 介休市| 苏尼特左旗| 黄浦区| 鹿泉市| 永登县| 来凤县| 准格尔旗| 呼图壁县| 高邮市| 眉山市| 辽阳市| 深圳市| 当雄县| 临沧市| 密云县| 成都市| 吉林市| 谢通门县| 湄潭县| 施甸县| 吴川市| 石河子市| 灵石县| 龙门县| 华坪县| 兴业县| 高台县| 临桂县| 漳浦县|