亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用VBS模擬二叉樹

發布時間:2021-10-08 15:00:40 來源:億速云 閱讀:103 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關怎么用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模擬二叉樹”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vbs
AI

焉耆| 嘉义县| 萨嘎县| 南京市| 长垣县| 永城市| 巴东县| 和林格尔县| 临高县| 紫金县| 无极县| 青川县| 冀州市| 江油市| 固安县| 长汀县| 石首市| 赞皇县| 邵武市| 鹿邑县| 江安县| 新闻| 正镶白旗| 南京市| 建湖县| 绥中县| 准格尔旗| 赣榆县| 额济纳旗| 台安县| 鄂托克前旗| 鄱阳县| 牙克石市| 额敏县| 宁南县| 瑞金市| 鞍山市| 荃湾区| 化州市| 商都县| 利川市|