加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

如何修正 asp 中的冒泡排序

发布时间:2023-11-03 13:18:12 所属栏目:Asp教程 来源:
导读:如何修改正确的asp冒泡排序?很多朋友们都被这个问题困扰过吧,那么我们现在就去看看asp冒泡排序的正确修改方式,还不了解的朋友们一起参考参考吧。网上搜到的代码,千篇一律是这个Function Sort(ary)Dim KeepChecki

如何修改正确的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()

以上就是asp冒泡排序的正确修改方式,但好笑的是,有些数组,用那个错误的sort函数是可以排正确的。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章