更正确的asp冒泡排序

时间:2007-05-24    点击:199   
网上搜到的代码,千篇一律是这个
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函数是可以排正确的。
JS获取scrollHeight问题想到的标准问题
如何实现动态删除javascript函数
javascript实现 在光标处插入指定内容
向fckeditor编辑器插入指定代码的方法
用Javscript实现表单复选框的全选功能
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved