인터넷에서 찾은 코드는 항상
Function Sort(ary)
Dim KeepChecking,I,FirstValue,SecondValue
KeepChecking = TRUE
Do Until KeepChecking = FALSE
KeepChecking = FALSE
For I = 0에서 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
함수 종료
오류가 있습니다. . . . . .
테스트해 보면 알 수 있습니다
s="11,3,1"
s=sort(split(s,","))
for i=0 to ubound (s)
response.write s(i) & "
"
next
인쇄 결과는
1
11
3
올바른 함수는 다음과 같습니다:
function sort(ary)
ck=true
do Until ck = false
ck=false
f의 경우 = 0에서 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()
그런데 재미있는 점은 일부 배열은 잘못된 정렬 함수를 사용하여 올바르게 정렬될 수 있다는 것입니다.