网上搜到的代码,千篇一律是这个 
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) & "
" 
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函数是可以排正确的。 
 
