if (sub_start == string_length)
print out the list
else
int i
i = sub_start until string_length <- present as k
swap(list[k], list[i]) // shift
Perm(list, i+1, string_length)
swap(list[k], list[i]) // recover
參考資料:http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_27308602.html
Lexicographic Permutation
額外資料:http://www.dreamincode.net/code/snippet4206.htm
http://www.freewebs.com/permute/lexico.html
No comments:
Post a Comment