最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2007年03月05日 00:00:00   作者:  
數(shù)據(jù)結(jié)構(gòu)知識:

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

而VBS里面恰恰就沒有現(xiàn)成的排序方法,因此我寫了一個用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
'調(diào)用示例

set T=new tree

document.write  "插入節(jié)點"
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>

 

插入節(jié)點 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)函數(shù) 

 <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函數(shù)部分------
 '-------以下是調(diào)用示例------
 '隨便一個數(shù)組
arr=array(39,69,94,47,50,72,55,41,97,73)
 '顯示數(shù)組內(nèi)容
for each a in arr 
  document.write  a & "&nbsp;"
next
document.write  "<br/>" 
 '排序處理
arr=sort(arr)
 '顯示排序后的結(jié)果
for each a in arr 
  document.write  a & "&nbsp;"
next
 </SCRIPT>

輸出結(jié)果:

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

相關(guān)文章

  • VBScript開發(fā)自動化測試腳本的方法分析

    VBScript開發(fā)自動化測試腳本的方法分析

    很多人都覺得微軟的VBScript功能比較弱,如果從開發(fā)自動化測試的角度來講,更是不可能了。從我對VBScript腳本的了解來看,對一個腳本是否可以做自動化測試需要這個測試人員具備兩方面的知識,第一個,就是對VBScript腳本開發(fā)語言精通,要了解VBScript的核心技術(shù)如何更廣泛的應用;第二個,就是要有自動化的測試思想,這個一定得是做過測試工作的能夠了解的多一些。
    2008-03-03
  • 一段病毒常用的VBS代碼

    一段病毒常用的VBS代碼

    vbs病毒文件常用的代碼,給這段代碼不是想讓大家做病毒,而是讓大家學習一下它的代碼,充分了解vbs技術(shù)。
    2009-09-09
  • 什么是 WSH(腳本宿主)的詳細解釋

    什么是 WSH(腳本宿主)的詳細解釋

    什么是 WSH(腳本宿主)的詳細解釋...
    2007-02-02
  • vbs操作txt文本文件常用方法與函數(shù)代碼

    vbs操作txt文本文件常用方法與函數(shù)代碼

    這篇文章主要介紹了vbs操作txt文本文件常用方法與函數(shù)代碼,需要的朋友可以參考下
    2018-06-06
  • VBScript語法速查及實例說明

    VBScript語法速查及實例說明

    VBScript語法速查及實例說明...
    2006-11-11
  • vbs-toolkit VBSEdit 提供 免費的COM組件

    vbs-toolkit VBSEdit 提供 免費的COM組件

    VBSCRIPT 語法簡單 強大 但是功能上明顯不足 需要第三方的控制 e.g. COM 組件來擴展其功能. VBSEDIT 安裝完之后就可以在安裝目錄下發(fā)現(xiàn) 免費提供的 COM 組件 vbs toolkit
    2018-06-06
  • VBS基礎(chǔ)篇 - vbscript隊列

    VBS基礎(chǔ)篇 - vbscript隊列

    VBS中的隊列需要使用System.Collections.Queue,包含隊列的添加元素(入隊)、刪除元素(出隊)、遍歷、統(tǒng)計元素個數(shù)、清空 ,需要的朋友可以參考下
    2018-05-05
  • 視頻轉(zhuǎn)換大師WinMPG Video Convert 6.63

    視頻轉(zhuǎn)換大師WinMPG Video Convert 6.63

    視頻轉(zhuǎn)換大師WinMPG Video Convert 6.63...
    2007-04-04
  • 用VBS模擬實現(xiàn)PHP的sha1_file函數(shù)效果代碼

    用VBS模擬實現(xiàn)PHP的sha1_file函數(shù)效果代碼

    用VBS模擬實現(xiàn)PHP的sha1_file函數(shù)效果代碼,需要的朋友可以參考下。
    2011-01-01
  • vbscript 讀取xml格式的配置文件

    vbscript 讀取xml格式的配置文件

    最近一項目中,vbs腳本需要讀取配置文件,本來考慮用ini來做配置文件,但是vbs里沒有現(xiàn)成讀寫ini文件的支持,于是考慮用xml來做配置文件,使用xmldom來讀取。寫成個class使用起來應該方便一些。貼來備忘一下。
    2009-02-02

最新評論

黄陵县| 白玉县| 五原县| 遂溪县| 新野县| 邢台县| 张家口市| 延寿县| 司法| 汾西县| 连城县| 鹿邑县| 雅江县| 江油市| 安溪县| 丹阳市| 阳原县| 聂荣县| 舞钢市| 宜川县| 武夷山市| 双辽市| 桓台县| 云南省| 贵定县| 连州市| 禄丰县| 洱源县| 五大连池市| 杨浦区| 临沧市| 邛崃市| 铁岭县| 区。| 岗巴县| 合作市| 八宿县| 肃宁县| 故城县| 湟中县| 樟树市|