本帖最后由 yykj 于 2009-5-27 13:24 编辑
简单示例:
#include <UDF_AscII2Alpha_Simple.au3>
#include<array.au3>
Local $array[5]
$array[0]="诛"
$array[1]="猎"
$array[2]="魔"
$array[3]="龙"
$array[4]="炫"
For $i = 1 To UBound($array)-1 Step 1
For $j = UBound($array)-1 To 1 Step -1
If Asc(_stringtoletter(StringLeft($array[$j],1))) <Asc(_stringtoletter(StringLeft($array[$j - 1],1))) Then
;MsgBox(0,"","OK",1)
swap($array[$j], $array[$j - 1])
EndIf
Next
Next
_ArrayDisplay($array)
Func swap(ByRef $x, ByRef $y) ;;比较大小不
Local $t
$t = $x
$x = $y
$y = $t
EndFunc ;==>swap
本人用这种方法排序,结果当我用来读取一个文本时(过两百字),排序就变得极其慢...请问大家有优化的办法吗?请高手现身说法 |