程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 修改正確的asp冒泡排序

修改正確的asp冒泡排序

編輯:關於ASP編程
網上搜到的代碼,千篇一律是這個

Function Sort(ary)
Dim KeepChecking,I,FirstValue,SecondValue
 KeepChecking = TRUE 
Do Until KeepChecking = FALSE 
 KeepChecking = FALSE 
 For I = 0 to UBound(ary) 
  If I = UBound(ary) Then Exit For 
   If ary(I) > ary(I+1) Then 
    FirstValue = ary(I) 
    SecondValue = ary(I+1) 
    ary(I) = SecondValue 
    ary(I+1) = FirstValue 
    KeepChecking = TRUE 
   End If 
 Next 
Loop 
 Sort = ary 
End Function 

存在錯誤。。。。。。

測試一下就知道

s="11,3,1"
s=sort(split(s,","))
for i=0 to ubound(s)
response.write s(i) & "<br>"
next

打印結果是



11

 3

 

正確的function是:

function sort(ary)
ck=true
do Until ck = false 
 ck=false
 For f = 0 to UBound(ary) -1
  if clng(ary(f))>clng(ary(f+1)) then
   v1=clng(ary(f))
   v2=clng(ary(f+1))
   ary(f)=v2
   ary(f+1)=v1

   ck=true
  end if
 next
loop
sort=ary
end function

就差在一個clng()

但好笑的是,有些數組,用那個錯誤的sort函數是可以排正確的。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved