服务器之家

服务器之家 > 正文

修改正确的asp冒泡排序

时间:2019-09-29 11:12     来源/作者: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函数是可以排正确的。 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部