婷婷综合国产,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模擬二叉樹,可以得到一個排序辦法.的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 建水县| 静宁县| 西乡县| 唐河县| 安国市| 茌平县| 白河县| 石景山区| 尼木县| SHOW| 赣州市| 高清| 宁津县| 梁平县| 开鲁县| 龙岩市| 韩城市| 萨迦县| 合山市| 商河县| 辉县市| 句容市| 陆丰市| 石阡县| 祥云县| 金门县| 呼图壁县| 安平县| 崇阳县| 利津县| 岑巩县| 如皋市| 台北市| 安宁市| 正宁县| 巴楚县| 巧家县| 波密县| 孝义市| 涪陵区| 普兰县|