修改正确的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

  打印结果是

  1

  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函数是可以排正确的。