全排列
全排列的autoit语句该怎样写呢?比如26个字母进行全排列 你非得在这里提问吗回复 2# UID 的帖子
这位大哥 那你能告诉我去哪提问呀 汗 搞脑子了我不愿意牺牲自己的脑细胞[ 本帖最后由 sxd 于 2009-1-12 20:21 编辑 ] $text = ""
For $i = 65 to 90
$text = $text & Chr($i)
Next
MsgBox(0, "大写字母表", $text)
[ 本帖最后由 xinda 于 2009-1-13 18:26 编辑 ] 大写65-90 小写97-122 估计楼上的不了解 啥叫全排列 楼主也太抬举au3了,26个字母共有403,291,461,126,605,635,584,000,000种不同的组合
用au3得运算好几天吧
以下代码仅供参考
#include "array.au3"
Global $k = 5;数组的大小,即有$K个数参与排列
Global $a[$k], $t[$k]; 定义数组
For $j = 0 To $k - 1
$a[$j] = $j + 1
Next
;_ArrayDisplay($a)
alllist($a)
Func alllist($array)
Local $b, $n = UBound($array)
If Not IsArray($array) Then Return
If $n = 1 Then
$t[$k - $n] = $array
out();输出结果
Return
EndIf
For $i = 0 To $n - 1
$t[$k - $n] = $array[$i]
alllist(mad($array, $i))
Next
EndFunc ;==>alllist
Func mad($ary, $index)
_ArrayDelete($ary, $index)
Return $ary
EndFunc ;==>mad
Func out()
ConsoleWrite(_ArrayToString($t, '') & @CRLF)
EndFunc ;==>out 原帖由 pcbar 于 2009-1-14 09:59 发表 http://www.autoitx.com/images/common/back.gif
楼主也太抬举au3了,26个字母共有403,291,461,126,605,635,584,000,000种不同的组合
用au3得运算好几天吧
我不知道楼主说的,排列是不是排序。不够这位仁兄说的太离谱了吧,26个字母算好几天?
想学编程,数据结构和算法,都是必修课啊。
下面演示个,冒泡排序,当然还有很多种算法(如快速排序)。
代码里有注释,就不多说了。
Global $str=["z","g","e","x","h","a","c","w","r","y","u","i","p"]
sort()
For $l=0 To UBound($str)-1
ConsoleWrite($str[$l])
Next
ConsoleWrite(@crlf)
Func sort();冒泡排序
Local $count,$tmp
$count=UBound($str)
If $count<=1 Then
Return($str)
EndIf
For $i=0 To $count-1
For $j=0 To $count-$i-2
If $str[$j]>$str[$j+1] Then ;把>改成 < 变成降序
;交换
$tmp=$str[$j]
$str[$j]=$str[$j+1]
$str[$j+1]=$tmp
EndIf
Next
Next
EndFunc
全排列,比如字母ABC,所有排列有A,AB,AC,ABC,ACB,B,BA,BC,BAC,BCA,C,CA,CB,CAB,CBA.
26个字母的全排列 .....很恐怖的 了解一下。26个字母的全排列,应该是26!,想了下的确够恐怖的。 谢谢各位的回答谢谢照顾 呵呵 你还没有对于的标题是啥意思做出解释呢! 原帖由 wolfxiong 于 2009-1-16 14:52 发表 http://www.autoitx.com/images/common/back.gif
你还没有对于的标题是啥意思做出解释呢!
请看10楼
页:
[1]